【发布时间】:2013-03-18 21:41:34
【问题描述】:
我在使用 Core Data 时遇到了一些概念性问题。到目前为止,我一直认为对象出错的答案是我的视图控制器需要事先获取该对象。但是,在阅读该主题时,Core Data 似乎应该对与我已经拥有的 NSManagedObject 相关的对象进行延迟获取。那么我只需要在我的应用程序运行的一开始就获取一些东西,还是还有更多呢?
【问题讨论】:
-
这在很大程度上取决于数据库中的内容。延迟获取是一般做法,但当然,如果需要一段时间,您当然希望预取数据。但是你通常只拉取 NSManagedObject 子类。
-
是的,如果只是加载直接相关的对象,无论是一对一还是多对多关系,延迟获取都可以正常工作。当尚未加载的关系显示为失败左右时,调试时可能会非常混乱。但就我的经验而言,它确实有效。只需使用 KVC 访问关系或访问自动生成的子类的属性,而无需考虑获取。
标签: ios objective-c core-data