使用 NSPersistentContainer 拆除并重建 Core Data Stack
Tear down and rebuild Core Data Stack with NSPersistentContainer
我确信这个问题会被问到和回答很多次,但我惊讶地发现经过几个小时的搜索,我找不到答案。随着 iOS 10 的到来,NSPersistentContainer 改变了我们处理 Core Data Stack 的方式。我了解如何设置核心数据堆栈。但是当底层存储被替换(在我的例子中是 sqlite)时,拆除和重建核心数据堆栈是一个不同的过程。我希望这是一个愚蠢的问题,有人可以指出我在这个主题上不知何故遗漏的 75 个问题。否则,我将不胜感激。
您之前所做的任何事情应该仍然以同样的方式工作。 NSPersistentContainer 不是魔法,也没有那么多作用。使用模型和主线程上下文设置商店很方便。它具有创建背景上下文的方法。它不会取代您对核心数据的了解。里面都是一样的东西。在 persistentContainer 内部是一个指向 persistentStoreCoordinator 的指针,它有一个指向模型和存储的指针。
我不知道你的替换store的代码是什么,所以我没办法帮你翻译成persistentContainer。如果你发现你做不到,就没有理由坚持使用 NSPersistentContainer,正如我之前所说的——它不是魔法,它对你的作用也不大。
我确信这个问题会被问到和回答很多次,但我惊讶地发现经过几个小时的搜索,我找不到答案。随着 iOS 10 的到来,NSPersistentContainer 改变了我们处理 Core Data Stack 的方式。我了解如何设置核心数据堆栈。但是当底层存储被替换(在我的例子中是 sqlite)时,拆除和重建核心数据堆栈是一个不同的过程。我希望这是一个愚蠢的问题,有人可以指出我在这个主题上不知何故遗漏的 75 个问题。否则,我将不胜感激。
您之前所做的任何事情应该仍然以同样的方式工作。 NSPersistentContainer 不是魔法,也没有那么多作用。使用模型和主线程上下文设置商店很方便。它具有创建背景上下文的方法。它不会取代您对核心数据的了解。里面都是一样的东西。在 persistentContainer 内部是一个指向 persistentStoreCoordinator 的指针,它有一个指向模型和存储的指针。
我不知道你的替换store的代码是什么,所以我没办法帮你翻译成persistentContainer。如果你发现你做不到,就没有理由坚持使用 NSPersistentContainer,正如我之前所说的——它不是魔法,它对你的作用也不大。