【发布时间】:2011-01-03 19:02:30
【问题描述】:
我创建了一个 iPhone 应用程序,我希望能够使用该应用程序加载一批数据,但不将所有数据存储在 .h 或 .m 文件中。
有没有办法将文本文件作为资源附加到应用程序中,然后将该文本文件加载到 iPhone 应用程序中的 NSString 中。
我希望在编译时将此文本数据文件作为 iPhone 应用程序的一部分包含在内,但要在运行时访问数据。
谢谢!
【问题讨论】:
标签: iphone cocoa-touch ios4
我创建了一个 iPhone 应用程序,我希望能够使用该应用程序加载一批数据,但不将所有数据存储在 .h 或 .m 文件中。
有没有办法将文本文件作为资源附加到应用程序中,然后将该文本文件加载到 iPhone 应用程序中的 NSString 中。
我希望在编译时将此文本数据文件作为 iPhone 应用程序的一部分包含在内,但要在运行时访问数据。
谢谢!
【问题讨论】:
标签: iphone cocoa-touch ios4
当然,这很容易。只需将您的 .txt 文件添加到您的项目中(将它们拖到文件树中)。要访问它们,您需要先获取路径:
NSString *path = [[NSBundle mainBundle] pathForResource: @"filename" ofType: @"txt"];
然后加载字符串:
NSError *error = nil;
NSString *fileData = [NSString stringWithContentsOfFile: path encoding: NSUTF8StringEncoding error: &error];
【讨论】:
下面是一个这样做的例子: http://iphoneincubator.com/blog/data-management/how-to-read-a-file-from-your-application-bundle
以上链接的相关代码:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"important" ofType:@"txt"];
if (filePath) {
NSString *myText = [NSString stringWithContentsOfFile:filePath];
if (myText) {
textView.text= myText;
}
}
【讨论】: