考虑提要中的字典对象与核心数据中的排序实体之间的以下相关性:
Feed CoreData
---- --------
A A
B B
C C
D D
在枚举提要时,我检查实体中是否有 A 的[stringForKey:@"name"]
isEqualTo A.name
。如果匹配,我会更新实体。如果不是,我在 CoreData 中插入一个新实体。
这适用于更新和插入,但不适用于删除。考虑从提要中删除对象 C:
Feed CoreData
---- --------
A A
B B
D C
D
当我到达提要中的“D”时,它会看到 CoreData 中的对象“C”不匹配并创建一个新对象 D。所以我现在有两个问题:我有两个“D”对象,对象“ C" 不会从 CoreData 中删除。
所以虽然我想结束这个:
Feed CoreData
---- --------
A A
B B
D D
我目前得到的是:
Feed CoreData
---- --------
A A
B B
D C
D
D
这一定是一个常见问题,所以我想知道确定何时从核心数据中删除实体的最佳实践是什么。