我正在使用" facts.plist"按下按钮后显示一个事实(字符串),我有一个按钮,将该字符串写入" favourites.txt" 文件,我可以将它用于将来使用
以下是代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"MyFavorites.txt"];
//documentsDirectory];
[self.displayJoke.text writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
NSError *error;
NSString *str = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@", str);
但每次点击该按钮时,前一个字符串都会被新字符串覆盖。如何创建字典或数组以防止这种情况?
答案 0 :(得分:2)
每次点击该按钮时,前一个字符串都会被新字符串覆盖
它没有“被覆盖”。 你正在覆盖它:
[self.displayJoke.text writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
该行用新文件替换文件 fileName 。如果这不是您想要做的,那么不要那样做。如果要包含文件的现有内容,则由您自己首先读取文件并将其包含在您编写的内容中。 (或者,您可以查看NSFileHandle,它允许您附加到文件。)