ios - 有没有一种方法可以让 C 和 Objective-C 读取和编辑相同的字符串?

标签 ios objective-c c

我有以下问题:一个用 Objective-C 编写的 iOS 应用程序(像往常一样)使用了用 C 编写的部分代码。C 代码是应用程序的核心,用 Objective-C 编写的代码使用了作业由 C 完成并协调整个应用程序。

为了完成它的工作,C 代码从首选项文件中读取一些内容,该文件的名称被写入 C 文件中。是否有可能(在 C 代码中)在运行时而不是在编译时读取文件名?这个想法是用 Objective-C 修改一个字符串,然后让 C 代码读取那个字符串。

最佳答案

看起来您在 C 文件中有一个硬编码的文件名。那不是一个好的设计;在 iOS 应用程序中,你永远不知道你的路径名是什么,当前文件夹的概念在 GUI 应用程序中是困惑的。使文件名成为 C 函数的参数,并从 Objective C 端传递它以及完整路径。根据文件的位置,它可以在您的应用程序包中,或在文档文件夹中,或其他地方 - 您知道得更多。

是的,您可以将文件名设为变量而不是常量。变量数据类型为 char*

编辑回复:评论:要解决此问题,请尝试从 ObjC 端设置当前文件夹。在调用 C 函数之前,调用 [NSFileManager setCurrentDirectoryPath:],传递文件所在的文件夹(同样,我不知道它可能是什么)。然后硬编码的文件名就可以工作了。

关于ios - 有没有一种方法可以让 C 和 Objective-C 读取和编辑相同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18986314/

相关文章:

ios - 如何编辑默认的navigationBar?

ios - 如何变换 uilabel 保持其 x 位置相同并缩放以减小字体大小

ios - AFNetworking 2.0、AFJSONResponseSerializer、AFHTTPResponseSerializer 和并发

c - 用c语言声明没有初始大小的数组

c - x86 - 使用内联汇编设置位

ios - 使用自动布局以编程方式呈现弹出 View Controller

iphone - NSString - 如何将 LONDON 转换为伦敦

objective-c - 无法接收带有分发证书的推送通知

ios - 在 CustomView 中点击手势识别器查看而不是 subview

c - 如何从文本文件的每一行中查找数字