0

我一直在努力让获取的属性在我的应用程序中正常工作,并且发现它非常令人困惑 - 主要是由于我终于弄清楚了这个奇怪的问题!

基本上,如果我在我的 xcdatamodeld 中更改 Fetched 属性的谓词,然后 Build-Run 应用程序会忽略这个新谓词并继续使用旧谓词。

很难描述这是多么令人讨厌和令人沮丧,但我确信我不是第一个遇到这种情况的人。

关于如何强制它在每次重建时更新更改的任何想法?

4

1 回答 1

0

好的,根据 Apple 的 Core Data 版本控制指南,两个版本在以下情况下被视为相同:

  • 对于每个实体,以下属性必须相同:名称、父级、isAbstract 和属性。不比较 className、userInfo 和验证谓词。

  • 对于每个实体中的每个属性,以下属性必须相等:name、isOptional、isTransient、isReadOnly,对于属性 attributeType,以及对于关系 destinationEntity、minCount、maxCount、deleteRule 和 inverseRelationship。

所以看起来改变一个获取的属性的谓词并不符合“改变”的条件......多么令人困惑。

您可以通过更改核心数据模型标识符的值来强制它考虑模型“已更改”

于 2012-10-23T09:46:55.607 回答