And*_*kha 4 core-data objective-c ios
我目前正在调试另一个开发人员编写的一个大项目。该项目使用CoreData我很陌生。我遇到了崩溃,这是由于某些NSManagedObject是错误的(我对错误是什么不太了解),我想将对象转换为“非错误”,看看它是否有帮助。阅读文档让我认为这to make object not fault等于to fire fault(再次我对什么是“触发”的理解很差),所以我决定通过调用它的任何方法来触发它,并且这个方法是hasChanges因为它不在方法列表中不要火过错。然而,即使在调用这个方法之后,对象仍然是错误的。谁能给我一个如何转换NSManagedObject为“非故障”状态的例子?
您在评论中提到的例外是:
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>''
Run Code Online (Sandbox Code Playgroud)
“无法满足故障”消息表明这不仅仅是触发故障的问题。事实上,触发故障没有特殊步骤——您只需访问属性,如有必要,故障会自动触发。
这个错误告诉你的是你正在做一些导致故障触发的事情,但是 Core Data 找不到你正在使用的实例的任何记录。这可能发生在某些情况下,例如:
此时 Core Data 通常会使用该对象来查找属性值。但是你已经删除了,所以属性数据就没了。Core Data 抛出这个异常。
还有一些其他场景可以触发这种情况——调用reset托管对象上下文,同时保留先前获取的对象,或者删除持久存储(以便数据仍然存在于存储文件中,但不再加载该文件) . 一般来说,这意味着 Core Data 正在尝试在不再有效的对象上查找数据。
你需要做什么:
| 归档时间: |
|
| 查看次数: |
1639 次 |
| 最近记录: |