我一直在努力让我的应用程序中的提取属性正常工作,并且发现它非常令人困惑 - 主要是由于这个奇怪的问题我终于想通了!
基本上,如果我在xcdatamodeld中更改了一个Fetched Property上的Predicate,然后Build-Run,应用程序会忽略这个新谓词并继续使用旧谓词。
很难描述这是多么令人讨厌和令人沮丧,但我相信我不是第一个遇到这种情况的人。
关于如何强制每次重建更新更改的想法?
答案 0 :(得分:0)
好的,根据Apple的核心数据版本指南,在以下情况下,有两个版本被视为可识别:
对于每个实体,以下属性必须相等:name,parent,isAbstract和properties。不比较className,userInfo和验证谓词。
对于每个实体中的每个属性,以下属性必须相等:name,isOptional,isTransient,isReadOnly,属性attributeType以及关系destinationEntity,minCount,maxCount,deleteRule和inverseRelationship。
所以看起来更改已获取的属性的谓词并不符合“更改”的要求......多么令人难以置信的混淆。
您可以通过更改核心数据模型标识符的值
来强制它将模型视为“已更改”