Terminating app due to uncaught exception 'NSObjectInaccessibleException',reason: 'CoreData Could not fulfill a fault for '0x1f0627a0 <x-coredata://E40418A0-A8E5-4340-865F-A9DA2E0095DD/CoreObject/p288>''
“无法完成故障”消息表明这不仅仅是解决故障的问题.事实上,没有特殊的步骤可以触发故障 – 您只需访问属性,如有必要,故障就会自动触发.
此错误告诉您的是,您正在执行导致错误触发的 *** 作,但Core Data无法找到您正在使用的实例的任何记录.在某些情况下可能会发生这种情况,例如:
>获取一个对象,并将其保留为错误(即不访问任何属性)
>从Core Data中删除它,但保留对该对象的引用(可能在实例变量中)
>保存更改
>尝试访问在步骤1中获取的对象的属性.
此时Core Data通常会使用该对象来查找属性值.但是你已经删除了它,因此属性数据消失了. Core Data会抛出此异常.
还有一些其他方案可以触发这一点 – 在托管对象上下文中调用reset,同时保留先前获取的对象,或者删除持久存储(以便数据仍然存在于存储文件中,但文件不再被加载).通常,这意味着Core Data正在尝试查找不再有效的对象上的数据.
你需要做什么:
>找出导致这个问题的对象.设置异常断点,以便调试器在崩溃发生时加载,可能是个好主意.>摆脱那个对象.防止故障发生可能会阻止这种特定的崩溃,但只要您仍然拥有此对象,它就像是您应用中的地雷.一旦触摸它,它就会爆炸并崩溃应用程序.>弄清楚为什么你有无效的托管对象潜伏在内存中.也许你应该早点摆脱它们?也许你不小心删除了一些你不想删除的内容?出于某种原因,当托管对象不再有效时,它们会将其保留在周围.这是导致麻烦的核心问题.
总结以上是内存溢出为你收集整理的ios – 如何使NSManagedObject没有错?全部内容,希望文章能够帮你解决ios – 如何使NSManagedObject没有错?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)