更新CoreData中的项目不会刷新tableView

时间:2017-09-02 08:58:42

标签: ios swift uitableview core-data

我有一点问题,并试图解决所有问题。我知道问题,但我不知道如何解决它。我正在使用带有fetchedResultsController的CoreData。我的实体称为“名称”,SortDescriptor也称为“名称”。 如果我将一个单项保存到CoreData并更改名称值,则FetchedResultsController调用.move而不是.update,并且我的TableView中的标签不会更新。重新启动应用程序或更改项目的其他值后,名称也会更新。 如果我有多个项目保存到CoreData,一切都可以正常运行。

如何将SortDescriptor保留在“name”上,还要更新tableView中的值。

由于

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是通过KVO订阅我们数据项的name属性。只需将您的单元格添加为观察者,并在数据对象更改后立即更新UI元素。

NB。不要忘记取消订阅prepareForReuse

答案 1 :(得分:0)

不要忘记:self.tableView.reloadData()放在正确的位置。