ios - 如何知道 NSFetchedResultsChangeUpdate 的哪个属性被更改?

标签 ios uitableview core-data nsfetchedresultscontroller

我认为 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/

相关文章:

ios - Firebase 如何获取 NSDictionary 数据

ios - UITableView 未加载但数组已填充

ios - 如何在swift 2的tableview中显示特定图像

core-data - 将 Swift 协议(protocol)与泛型一起使用

ios - 核心数据查询

javascript - 检测 <embed> 标签无法加载视频

iphone - UIImagepickercontroller : converting to low quality video error

ios - 为 UITableView 标题文本设置accessibilityLabel

ios - UITableViewCell 不显示 Swift 中的内容

ios - 如何获取 PHAsset 的 URL?