ViewA列出按部分分组的数据,当您选择一行时,您将转到ViewB。在可能编辑多个字段后,您可以使用后退按钮返回ViewA。如果在ViewB中编辑用作节标题的属性,则新值不会显示在ViewA中,除非您退出它并返回到它。
我能找到修复此问题的唯一方法是将fetchedResultsController设置为nil,然后设置[self.tableView reloadData],这会使FRC重新加载。但这似乎非常低效。还有更好的方法吗?
答案 0 :(得分:1)
信不信由你,[theTableView_A reloadData]
是首选和建议的方法。它似乎效率低下,但它确实是确保正确布置所有标签,单元格,页眉,页脚,间距等的唯一方法。
说完...... 有类似的东西:
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
可以处理更新仅更改的部分 - 这可能会满足您的需求。
另一方面,reloadData
在幕后进行了大量优化,并缓存了单元格和许多其他对象,以便不必重新计算和重绘它不应该的东西。