我正在尝试将存储在NSString
变量中的文本保存在与项目主包一起存储的文本文件中。
到目前为止,我没有成功,并尝试了很多不同的方法。 为什么这不永久?
NSString *pathToFile = [[NSString alloc]init];
pathToFile = [[NSBundle mainBundle] pathForResource:@"ListOfSavedImages" ofType:@"txt"];
NSLog(@"%@",pathToFile);
NSString *stringToWriteToFile = [[NSString alloc]init];
stringToWriteToFile=@"Adam";
NSLog(@"%@",stringToWriteToFile);
[stringToWriteToFile writeToFile:pathToFile atomically:YES encoding:NSUTF8StringEncoding error:NULL];
NSLog(@"called!");
NSString *contentsOfFile1 = [NSString stringWithContentsOfFile:pathToFile encoding:NSUTF8StringEncoding error:NULL];
NSLog(@"%@",contentsOfFile1);
虽然此代码段末尾的NSLog
输出“Adam”,但实际文件不会更改,但我也在视图加载时对文件内容进行nslogging,并且它总是恢复为原始文件文本(它实际上从未改变)。我做错了什么?
我正在使用Xcode 4.3,ARC和故事板。
答案 0 :(得分:1)
当您在本地实例化变量时,当您到达块的末尾时它们会泄漏}。
尝试使用声明为特定视图控制器属性的IVars,在.m文件中合成。
查看有关iTunes的斯坦福课程的C139p,最好是ARC之前的早期系列,因为这完全解释了数据持久性的概念。