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、ビューが読み込まれるときにファイルの内容も記録され、常に元のテキストに戻ります(実際には変更されません)。私は何が間違っているのですか?

Xcode 4.3、ARC、ストーリーボードを使用しています。

4

1 に答える 1

1

変数をローカルでインスタンス化しているため、ブロックの最後に到達すると変数が漏れます }.

.m ファイルで合成された、特定のビュー コントローラーのプロパティとして宣言された IVar を使用してみてください。

ITunes のスタンフォード コースの C139p を参照してください。これは、データの永続性の概念を完全に説明しているため、できれば ARC の前に提供された初期のシリーズです。

于 2013-05-08T12:01:30.753 に答える