我认为 controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
存在问题,特别是对于 NSFetchedResultsChangeUpdate
:它没有告诉您是什么更改导致了此 NSFetchedResultsChangeUpdate
。
我有一个非常复杂的实体。仅使用其数据的一部分来填充我的 TableView 单元格。我不想更新我的单元格以进行任何不相关的属性更改 - 这是资源的浪费。那么我如何知道哪个属性更改导致此 NSFetchedResultsChangeUpdate
,以便我可以避免更新不相关的 TableView 单元格?
最佳答案
NSManagedObject 有两种方法。首先返回一个字典,其中包含自上次获取或保存对象以来已更改的键和(新)值(这是有效实现的,不会引发关系错误)
- (NSDictionary *)changedValues;
第二:
- (NSDictionary *)changedValuesForCurrentEvent NS_AVAILABLE(10_7, 5_0);
您通过NSFetchedResultsController调用他们的NSFetchedResultsChangeUpdate通知
关于ios - 如何知道 NSFetchedResultsChangeUpdate 的哪个属性被更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869520/