我在iPhone SDK中遇到了一个非常恼人的Core Data问题。我会说一般来说Core Data在大多数情况下看起来很容易使用并且很好实现。
我有一个sqlite数据库,它被用作为iPhone应用程序提取数据元素的只读参考。似乎存在与数据库迁移到我的架构的最新版本有关的真正神秘的问题。
为什么不能清理存储的对象和模型,让项目在下次编译时重做所有内容?你会认为如果你设置一个存储对象模型,就有办法重置它并重新编译。我已经尝试了几千个“提示”,这些提示是谷歌搜索和文档数小时的结果,以便弄清楚如何做到这一点。
编译时我最近的错误如下。
2010-04-07 18:23:51.891 PE [1962:207] ***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法将模型与名为'PElement''的两个不同实体合并/ p>
所有这些代码一直在模拟器中工作,现在只是给我带来麻烦,因为我对架构进行了更改。我还有自动迁移设置的数据库选项,如下所示。
NSMutableDictionary *optionsDictionary = [NSMutableDictionary dictionary];
[optionsDictionary setObject:[NSNumber numberWithBool:YES]
forKey:NSMigratePersistentStoresAutomaticallyOption];
[optionsDictionary setObject:[NSNumber numberWithBool:YES]
forKey:NSInferMappingModelAutomaticallyOption];
答案 0 :(得分:0)
清理您的项目。当您开始版本控制时,Xcode不会从包中删除旧的已编译的妈妈文件。在下次构建之前清理项目将解决此问题。