0

ファイルを読み取って、アプリのファイルの内容を変更しようとしています。ここにviewWillAppearメソッドの私のコード:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"txt"];
    NSFileHandle *file;
    NSData *databuffer;
    file = [NSFileHandle fileHandleForReadingAtPath:filePath];
    if (file == nil)
        NSLog(@"Failed to open file");
    [file seekToFileOffset: 0];
    databuffer = [file readDataToEndOfFile];
    NSString *strData = [[NSString alloc]initWithData:databuffer encoding:NSUTF8StringEncoding];

    NSLog(@"%@", strData);
    [file closeFile];
    file = nil;
    filePath = nil;
    databuffer = nil;

}

ここに myfile.txt の内容があります:

test

ここでは、ビューが表示された後の nslog の結果:

2012-02-03 13:46:01.165 iBadah[9629:207] test

しかし、問題は、myfile.txt の内容を変更したときです (アプリは引き続き実行されます)。

test test

結果は実際の myfile.txt コンテンツに変化せず、代わりに古いコンテンツが表示されます。

2012-02-03 13:46:21.335 iBadah[9629:207] test

したがって、シナリオは、ビューをプッシュし (その後、viewWillAppear が実行されます)、結果が表示され、別のビューに移動し、myfile.txt の内容を変更し、最初のビューに戻り (viewWillAppear を再度実行するため)、結果は変わりません。

誰でも myfile.txt の実際の内容を取得するための回避策を教えてもらえますか? ありがとう。

4

0 に答える 0