我有一个Plist文件(在捆绑包之外),用于存储用户收藏夹。一旦加载,它将按预期工作,Plist将加载到表中。
但是,当您将新项目添加到Plist时:plist文件(捆绑包外部)将更新。如日志中所示,将触发重新加载tableview。但是,实际上并没有从Plist重新加载数据,它只是使用现有的(数组)值。除非您退出并重新加载整个应用程序,否则在表中将显示更新的Plist。
如何使我的表实际上从更新的Plist中重新加载,而不仅仅是使用原始数组。
谢谢。
我使用此代码从Plist获取数据-运行正常。
NSMutableArray *rawFavArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
我使用它来遍历数组以创建表的单元格信息-工作。
return [favReloadArray objectAtIndex:indexPath.row];
我用它来重新加载表(在viewWillApear中)-不起作用,触发日志,但不重新加载Plist。
[self.tableView reloadData];
当我尝试更改Plist中的数据时,我可以执行此操作,但是除非退出应用并重新启动,否则任何更改都不会显示在表中。
最佳答案
在致电reloadData之前,您应该具有[favReloadArray release];favReloadArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
要么favReloadArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
取决于您首先创建favReloadArray的方式。
关于ios - 如何将plist文件重新加载到表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8071772/