在哪里放置iPhone UITextView的文本文件

时间:2010-03-24 09:44:29

标签: iphone objective-c xcode

我有多个UITextViews和相应的.txt文件。我正在用NSString的

读它们
stringWithContentsOfFile

但我不知道应该放置文件的路径。如果我把它放在我的Mac上的/ tmp /,它可以在模拟器中工作,但是,当然,它不适用于实际的设备。那么我应该把文件放在哪里,这样它们就可以在模拟器和实际的设备上工作。

3 个答案:

答案 0 :(得分:3)

将它们作为资源添加到项目中,您将能够使用路径从应用程序包中加载它们:

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

但是,如果要使这些文件可编辑,可以将它们保存在应用程序沙箱中的“文档”文件夹中。要获得它的路径,您可以使用:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                        NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

因此,本例中的工作流程可能如下:

  1. 检查文档文件夹中是否存在所需文件。如果不是 - 从资源中复制它。
  2. 从文件中读取数据(来自Documents文件夹)
  3. 如果需要,将更新的数据保存到文件(在“文档”文件夹中)

答案 1 :(得分:0)

将它们放入您的应用程序结构下的Documents文件夹中。您可以通过调用以下方式获取实际路径:

NSString *docsDirPath = [NSHomeDirectory() stringByAppendingPathComponent: @"Documents"];

这将适用于设备和模拟器。

答案 2 :(得分:0)

您需要NSTemporaryDirectory或NSDocumentDirectory。

可以在http://servin.com/iphone/iPhone-File-IO.html找到将UITextView与文件一起使用的深入示例