我有一个Plist文件(在软件包之外),用于存储用户收藏夹。加载后,它按预期工作,将Plist加载到表中。
但是,当您向Plist添加新项目时:plist文件(包外)更新。将按照日志中的说明触发重新加载tableview。但是,实际上并没有从Plist重新加载数据,它只使用现有的(Array)值。除非您退出并重新加载整个应用程序,否则更新的Plist会出现在表格中。
如何让我的表实际上从更新的Plist重新加载而不是仅使用原始数组。
感谢。
我使用此代码从Plist获取数据 - 工作。
NSMutableArray *rawFavArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
我用它来运行数组来为表格工作创建单元格信息。
return [favReloadArray objectAtIndex:indexPath.row];
我用它来重新加载表(在viewWillApear中) - 不工作,触发日志,但不重新加载Plist。
[self.tableView reloadData];
当我尝试更改Plist中的数据时 - 我可以执行此操作,但除非我退出应用程序并重新开始,否则表中不会显示任何更改。
答案 0 :(得分:1)
在你调用reloadData之前,你应该有
[favReloadArray release];
favReloadArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
或
favReloadArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
取决于您首先创建favReloadArray的方式。
答案 1 :(得分:0)
myArray = [NSArray arrayWithContentsOfFile:myFilePath];