我正在制作一个应用程序,当您选择一个单元格时,您会被转到一个新的阅读视图。您点击的单元格对应于 Core Data 存储中的一个对象(通过NSFetchedResultsController
),并且该对象被设置为article
正在被连接到的视图的属性的值。
到达那里后,我会在用户阅读文章时移动用户在文章中的位置。(所以我改变了via的position
属性)article
article.position = ...
但是,这在他们阅读时非常频繁地发生,通常是数百次,并且每次NSFetchedResultsController
都将更改检测为更新,然后调用configureCell:
,然后运行该单元格的一堆配置。由于此configureCell:
方法被调用如此频繁(我只希望在他们返回表视图时调用它,因为这是唯一需要更新的时间)它会导致相当大的性能损失。
我不明白为什么它会调用它。我没有将数据保存NSManagedObjectContext
到 Core Data 存储中,为什么它在乎呢?我只在调用时调用它viewWillDisappear
,表示他们正在离开视图,可能会回到我想要的表视图!
基本上,我如何让它只configureCell:
在需要/当我要求它将数据写入核心数据时才调用?它按原样调用了数百次。