CoreData 故障,当我尝试从 NSSet 为当前用户获取数据时,我收到以下错误。”

Posted

技术标签:

【中文标题】CoreData 故障,当我尝试从 NSSet 为当前用户获取数据时,我收到以下错误。”【英文标题】:CoreData Fault, when i am trying to get data from NSSet for current user, I am getting following error." 【发布时间】:2014-11-27 07:27:19 【问题描述】:

CoreData 故障,当我试图从 NSSet 为当前用户获取数据时,<_currentUser.UserAddresses.allObjects[indexPath.row]);> 我收到以下错误:

 "<Address: 0x7fd66a54a4c0> (entity: Address; id: 0x7fd66a5a6f10 <x-coredata://0EF4F398-8357-4A52-9BC3-2C6E6B9A5014/Address/p1> ; data: <fault>)"
)
2014-11-27 11:45:27.829 Icare[2657:39674] Row Value 0
2014-11-27 11:46:43.381 Icare [2657:39674] Array Value <Address: 0x7fd66a54a4c0> (entity: Address; id: 0x7fd66a5a6f10 <x-coredata://0EF4F398-8357-4A52-9BC3-2C6E6B9A5014/Address/p1> ; data: <fault>)

【问题讨论】:

【参考方案1】:

这不是错误。故障是尚未从数据库中检索到与对象关联的数据。请参阅Apple documentation 以获得更完整的解释。如果您访问该对象的任何属性,CoreData 将自动“触发”故障,从数据库中检索相关数据。

【讨论】:

请给我正确的解决方案和步骤来解决这个问题。 这不是问题。这是 Core Data 的正常行为。它说的是“故障”,但在 Core Data 的术语中,它的意思是“一个尚未将其属性从持久存储加载到内存 (RAM) 的对象”。这是一种“延迟加载”模式。 没有问题 - 完全符合预期。你不需要做任何事情。如果您认为仍有问题,请更新您的帖子以提供更多信息。

以上是关于CoreData 故障,当我尝试从 NSSet 为当前用户获取数据时,我收到以下错误。”的主要内容,如果未能解决你的问题,请参考以下文章

coreData:从 NSSet 实体移动记录

具有多个 NSSet 的 CoreData NSPredicate

核心数据故障

对象作为故障 - CoreData 关系

SWIFT - Coredata删除关系记录

coredata 如何将默认 NSSet 更改为 NSMutableArray