在iPhone应用程序中加载文本数据

时间:2011-01-03 19:02:31

标签: iphone cocoa-touch ios4

我创建了一个iPhone应用程序,我希望能够在应用程序中加载一批数据,但不能将所有数据存储在.h或.m文件中。

是否可以将文本文件作为资源附加到应用程序中,然后将该文本文件加载到iPhone应用程序中的NSString中。

我希望在编译时将此文本数据文件包含在iPhone应用程序中,但是要在运行时访问数据。

谢谢!

2 个答案:

答案 0 :(得分:5)

当然,这很容易。只需将.txt文件添加到项目中(将它们拖到“文件”树中)。要访问它们,您需要先获取路径:

NSString *path = [[NSBundle mainBundle] pathForResource: @"filename" ofType: @"txt"];

然后加载字符串:

NSError *error = nil;
NSString *fileData = [NSString stringWithContentsOfFile: path encoding: NSUTF8StringEncoding error: &error];

答案 1 :(得分:1)

这是一个完全如此的例子: 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;  
  }  
}