【发布时间】:2011-03-22 12:20:46
【问题描述】:
我环顾四周,试图找到一种简单的方法,首先将 MutableArray(它将包含来自 UITextViews 的不同文本数组以及返回等)保存到 txt 文件中,然后将 txt 文件加载回我的 MutableArray .
我没有设法想出相反的方法(加载文本文件),我想知道我应该如何去做。我确定 txt 文件和可变数组并不真正兼容,特别是如果我希望 MutableArray 保存来自 UITextViews 的各种文本字符串。
有没有办法在可变数组中标记一个部分的开头,并在 txt 文件中标记下一个部分的开头?目的是能够在程序和简单的文本编辑器中编辑 txt 文件,而不会弄乱可变数组的结构。
我可以在我的文本文件中使用某个特殊字符(显然不是 \n)来分隔不同的对象吗?
这是我到目前为止的想法。抱歉,我是初学者,而且非常基础。第一个问题是我收到错误消息“NSMutableArray”可能无法响应“-writeToFile:atomically:encoding:error:”。接下来,我不知道如何将 txt 加载回我的数组中。最后,我想想出一种方法来分隔 txt 中的数组,使其保持可编辑状态,但这绝对是锦上添花。也许解决方案是将数组中的每个对象保存在单独的 txt 文件中,然后将每个 txt 加载到数组中?
// GENERATE ARRAY
NoteBook = [[NSMutableArray alloc] init];
for (int temp = 0; temp < 3; temp++) {
[NoteBook insertObject:@"Title\n\n Line1\nLine2..." atIndex:temp];
}
// SAVING MY MUTABLE ARRAY
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
NSError *error;
BOOL succeed = [NoteBook writeToFile:[documentsDirectory stringByAppendingPathComponent:@"myfile.txt"]
atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
// Handle error here
}
// LOADING TEXTFILE AND PUT IT INTO A MUTABLE ARRAY
// NO IDEA... how to do this
【问题讨论】:
标签: iphone objective-c cocoa-touch nsmutablearray