保存时出现CoreData错误:“未对此SQLType 7实施绑定

时间:2009-07-29 14:18:03

标签: iphone core-data

我是Core Data的新手,我的模型很复杂,在这里描述一下,抱歉。

我的应用程序从Web获取许多少量数据并将其存储到核心数据实体。 有时保存很好,但有时会有一个

NSInternalInconsistencyException

有了这个描述

binding not implemented for this SQLType 7

中出现例外情况
[NSManagedObjectContext save:] 

方法所以我无法使用调试器来完成它。

我检查了我的CoreData模型,一切似乎都很好。我检查了控制台中的所有值,而非所需属性的值为nil。

也许某人有想法解决这个问题? 感谢

3 个答案:

答案 0 :(得分:1)

事实证明,这是一个多线程问题,与锁定持久存储有关。有趣的是,它从来不是10.4或10.5的问题。

答案 1 :(得分:0)

我也遇到了这个错误。根据我在10.4 SDK中找到的有些过时的SQL头文件,类型7是Real。我的模型非常广泛地使用Decimal类型,它可能映射到SQL Real类型。我最好的猜测是将这些类型绑定到它们的语句的SQL例程被破坏或不完整。

答案 2 :(得分:0)

我的问题解决后,我保存后直接更改模型。也许有一些未经处理的更改与其他一些更改重叠,这会产生错误。 根据Apple Docs,您应该始终在更改后直接保存更改

  

记住托管对象   上下文就像一个便笺簿(见   “托管对象和托管对象   对象上下文“)。无论你有什么变化   make - 是否编辑属性值   或添加或删除整个   对象 - 实际上并未承诺   持久存储(文件)直到你   保存上下文。通常,在   iPhone应用程序,您保存更改   一旦用户制作它们。

     

CoreData iPhone Tutorial

希望这也可以帮助您解决问题。

祝你好运; - )