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