【问题标题】:iOS 10 Core Data Tutorial - NSPersistentContaineriOS 10 核心数据教程 - NSPersistentContainer
【发布时间】:2017-06-07 14:11:55
【问题描述】:

我正在尝试按照 Apple 的开发人员文档来使用 CoreData。 我刚刚开始学习 Objective-C,现在正试图围绕 CoreData。我想我已经有了 OO 数据库的概念。

我这辈子都无法让它工作,我所做的所有搜索都带回了 iOS 9 和更早版本或 Swift 的教程。

任何帮助或指导将不胜感激。

Core Data - Developer.Apple.Com

【问题讨论】:

  • 您的问题太模糊,无法给出好的答案。如果您遇到具体问题,请描述您尝试过的内容以及遇到的具体问题。 “我无法让它工作”只能通过将您指向文档或其他介绍性教程来真正回答。

标签: objective-c iphone core-data xcode8 ios10


【解决方案1】:

如果您想保持简单,只需处理单个 managedObjectContext。如果您使用的是NSPersistentContainer,这是viewContext。确保始终仅从主线程读取和写入核心数据。在许多教程中,您会发现使用单个 managedObjectContext 的类似简单设置。

一旦你掌握了,你应该学习如何正确使用NSPersistentContainer。遵循一些简单的规则并不难:

  • 永远不要写信给viewContext
  • 只写使用performBackgroundTask
  • 不要使用来自performBackgroundTask 的任何托管对象或上下文
  • 不要在 performBackgroundTask 中使用任何 viewContext managedObject - 传递 objectID 并在上下文中重新获取它。
  • 请勿使用 newBackgroundContext - 它仅在您不太可能遇到的极少数情况下有用。
  • 获取后丢弃所有 managedObject。如果您需要指向托管对象,请使用 fetchedResultsController - 即使它仅用于一个对象

【讨论】:

    猜你喜欢
    • 2013-11-28
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2017-07-12
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多