0

.txt ファイルを読み書きできる小さなプログラムを書き終えました。プログラムを実行すると、ファイルの内容が永久に変更されないことを除いて、すべて正常に動作しています。writeToFile と "readFile" ボタンがあり、いずれかを押すたびに内容が変わるように見えますが、ファイルを手動で開くと (テスト中またはプログラムのシャットダウン後)、元のコンテンツが残っています。シミュレーターを使用しているだけで、「実際の」ファイルの内容は変わりませんか? それとも、私が悪い間違いを犯しているだけですか?

-(IBAction)buttonPressed {  //The writeToFile Method
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];
NSString *writeData = enterText.text;
NSError *error;
BOOL ok = [writeData writeToFile:filePath atomically:NO encoding:NSUnicodeStringEncoding error:&error]; 
if (!ok)
{
    NSLog(@"Error while writing file at %@/n%@",filePath,[error localizedFailureReason]);
}
testText.text =@"File saved!";
enterText.text = @"";
enterText.placeholder =@"Enter your text here";

}

testText = 出力用の TextView

enterText = 入力用の TextField

4

1 に答える 1

0

filePath 変数は、アプリのリソース バンドル内のファイルを指しています (これは書き込み可能ではありません)。ユーザーの Documents フォルダを見つけて、そこにファイルを作成する必要があります。

于 2011-08-31T10:23:13.873 に答える