在一组objective-c Xcode中加载文件

Posted

技术标签:

【中文标题】在一组objective-c Xcode中加载文件【英文标题】:Load a file in a group objective-c Xcode 【发布时间】:2010-05-12 21:22:48 【问题描述】:

我想从 Xcode/Objective-c 中的特定组加载文件

例如:

我有两个名为“SomeFile.txt”的文件,它们位于操作系统中的两个不同文件夹(文件夹尚未分组)中:

SomeFolderOne |- SomeFile.txt

SomeFolderTwo |- SomeFile.txt

内部 Xcode 我创建了两个文件夹,并为这两个文件添加了 REFERENCE:

SomeGroupOne |- SomeFile.txt // 这个文件是来自 SomeFolderOne 的 SomeFile.txt 的引用

SomeGroupTwo |- SomeFile.txt // 这个文件是对 SomeFolderTwo 中的 SomeFile.txt 的引用

现在我想阅读 txt 内容:

NSString *contents = [NSString stringWithContentsOfFile:@"SomeFile.tx" encoding:NSUTF8StringEncoding error:nil];

好的,它会读取“SomeFile.txt”,但有时读取的文件来自 SomeGroupOne,有时读取的文件来自 SomeGroupTwo。

如何指定要读取文件的组?

【问题讨论】:

【参考方案1】:

SomeFolderOneSomeFolderTwo 添加到Xcode 项目并确保选择为任何添加的文件夹创建文件夹引用 选项。

这将导致实际文件夹及其内容被复制到您的 app bundle 的 Resources 文件夹中。

然后您可以通过执行以下操作在您的应用中访问它们:

NSString* path = [[NSBundle mainBundle] pathForResource:@"SomeFile" ofType:@"txt" inDirectory:@"SomeFolderOne"];
NSString* contents = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

【讨论】:

【参考方案2】:

如果您在 iPhone 平台上,请注意,无论项目中资源的目录结构如何,所有这些文件都将放在 bundle 目录的根目录中。我不确定如果您有多个同名文件会发生什么。

【讨论】:

好点。由于原始海报未指定 Mac 或 iPhone,我已作为 Mac 开发人员回答。我相信在 iPhone 上发生的事情是只有一个同名的文件会进入捆绑包,所以答案是确保文件具有不同的名称。

以上是关于在一组objective-c Xcode中加载文件的主要内容,如果未能解决你的问题,请参考以下文章

目标 - C / Xcode。在 UViewController 中加载子类 UIViews xib [关闭]

如何在 Xcode 中加载本地 json 文件以进行单元测试?

界面构建器未在 xcode 中加载

xcode 7.2 怎么在Playground 中加载图片

在 Objective-C 中加载时将光标移动到预填充 Textview 的开头

如何在Objective-C中加载数据期间异步加载JSON数据并填充UITableView