【发布时间】:2022-01-11 09:39:32
【问题描述】:
我正在使用 Swift 5 为 iOS 开发一个库,我希望这个库独立于使用该库的应用程序使用 CoreData,这就是我到目前为止所做的:
- 使用各自的数据类型创建实体
- 创建了
.xcdatamodeld文件,其中包含实体 - 创建了一个
CoreDataManager,如下所示:
// MARK: - CoreDataManager
final class CoreDataManager {
static let shared = CoreDataManager()
private static let defaultObject = NSManagedObject.init()
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Audit")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}()
}
问题是我试图通过以下方式获取上下文:
let coreDataManager = CoreDataManager.shared
let context = coreDataManager.persistentContainer.viewContext
而context 正在返回nil
请帮忙
【问题讨论】:
-
您对此进行过研究吗?有一些在线文章(以及此处的问题)描述了您需要采取哪些步骤来执行此操作。
-
我已经阅读了很多文章和堆栈溢出问题,但其中大多数说我需要从 AppDelegate 获取上下文,这对我来说没有意义,因为我正在开发一个没有'没有 AppDelegate。
-
那么我猜你读错了类型的文章,谷歌“swift core data model in package”,你应该找到一些有用的文章和SO问题
-
谢谢@JoakimDanielson,我会去看看。
标签: swift core-data nsmanagedobjectcontext