0

我正在尝试将存储在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);

尽管此代码段末​​尾的输出“Adam”,但实际文件没有改变NSLog,但我也在视图加载时对文件的内容进行 nslogging,并且它总是恢复为原始文本(它实际上从未改变)。我究竟做错了什么?

我正在使用 Xcode 4.3、ARC 和情节提要。

4

1 回答 1

1

当您在本地实例化变量时,它们会在您到达块的末尾时泄漏 }。

尝试使用声明为特定视图控制器的属性的 Ivar,在 .m 文件中合成。

看看 iTunes 上斯坦福课程的 C139p,最好是 ARC 之前给出的早期系列,因为这充分解释了数据持久性的概念。

于 2013-05-08T12:01:30.753 回答