我是Core Data的新手,我的模型很复杂,在这里描述一下,抱歉。
我的应用程序从Web获取许多少量数据并将其存储到核心数据实体。 有时保存很好,但有时会有一个
NSInternalInconsistencyException
有了这个描述
binding not implemented for this SQLType 7
中出现例外情况
[NSManagedObjectContext save:]
方法所以我无法使用调试器来完成它。
我检查了我的CoreData模型,一切似乎都很好。我检查了控制台中的所有值,而非所需属性的值为nil。
也许某人有想法解决这个问题? 感谢
答案 0 :(得分:1)
事实证明,这是一个多线程问题,与锁定持久存储有关。有趣的是,它从来不是10.4或10.5的问题。
答案 1 :(得分:0)
我也遇到了这个错误。根据我在10.4 SDK中找到的有些过时的SQL头文件,类型7是Real。我的模型非常广泛地使用Decimal类型,它可能映射到SQL Real类型。我最好的猜测是将这些类型绑定到它们的语句的SQL例程被破坏或不完整。
答案 2 :(得分:0)
我的问题解决后,我保存后直接更改模型。也许有一些未经处理的更改与其他一些更改重叠,这会产生错误。 根据Apple Docs,您应该始终在更改后直接保存更改
记住托管对象 上下文就像一个便笺簿(见 “托管对象和托管对象 对象上下文“)。无论你有什么变化 make - 是否编辑属性值 或添加或删除整个 对象 - 实际上并未承诺 持久存储(文件)直到你 保存上下文。通常,在 iPhone应用程序,您保存更改 一旦用户制作它们。
希望这也可以帮助您解决问题。
祝你好运; - )