我正在尝试按照苹果开发人员文档使用核心。我刚刚开始学习Objective-C,现在试图将我的头缠绕在Coredata周围。我认为我有包含OO数据库的概念。
在我的一生中,我无法使它起作用,并且我完成的所有搜索都带回了iOS 9和以前的教程,或者是Swift。
。任何帮助或指导将不胜感激。
核心数据-Devrapter.apple.com
如果要保持简单,只能处理单个托管的context。如果您使用的是NSPersistentContainer
,则是viewContext
。确保仅从主线程中始终读取并写入核心数据。在许多教程中,您会发现具有单个托管context的类似简单设置。
掌握了一旦掌握了如何正确使用NSPersistentContainer
。并不是很难遵循一些简单的规则:
- 永远不要写信给
viewContext
- 仅使用
performBackgroundTask
。 - 请勿使用
performBackgroundTask
中的任何托管对象或上下文 - 请勿在PerformBackgroundTask内部使用任何
viewContext
托管原则 - 传递ObjectId并在上下文中进行补充。 - 不要使用newbackgroundContext-它仅在您不太可能遇到的非常罕见的情况下才有用。
- 获取后丢弃所有托管对象。如果您需要对托管对象保持指向,则使用fetchedresultscontroller-即使仅适用于一个对象