ios - 应用程序卡在核心数据初始化。怎么修?

标签 ios swift core-data

我有一个带有以下代码的 AppService.swift

lazy var persistentContainer: NSPersistentContainer = {
    let container = NSPersistentContainer(name: "AppName")
    container.loadPersistentStores(completionHandler: { storeDescription, error in
        if let error = error as NSError? {
            self.log.error("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

func saveChannel(_ channel: Channel) {
    persistentContainer.performBackgroundTask { context in
        let _channel = JSChannel(context: context)
        _channel.desc = channel.desc
        if let ret = try? context.save() {
            self.log.debug("ret: \(ret)")
        }
    }
}

我调用 saveChannel 方法,应用程序卡住。我添加了断点并在调试器中输入 p NSPercientContainer(name: "AppName") 但它没有完成执行。容器名称与xcdatamodelid相同。我使用的部署目标为 10.0 和 Xcode 10.1。如有任何帮助,我们将不胜感激。

最佳答案

我通过调用主队列中的 persisterContainer 使其工作。

DispatchQueue.main.async {
    persistentContainer.performBackgroundTask { context in
    // ..
}

关于ios - 应用程序卡在核心数据初始化。怎么修?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55315981/

相关文章:

ios - 如何查看 Swift 字典中存在的数组?

ios - 实时添加的 Firebase 子项未在 Collection View 中更新

ios - 核心数据不会在两次发布之间持续存在

ios - 迁移可以在没有多个数据模型版本的情况下完成。欢呼?

objective-c - NSFetchedRequestController,其中NSSet属性为sectionNameKeyPath。可能吗?

android - IOS 中的 outlook 插件

ios - 为什么我不能使用 NSDateFormatter 将我的 NSDate 格式化为指定的时区?

ios - Swift Compact Map 返回空

ios - UiBarButtonItem 选择器..点击崩溃

ios - 网址中的西里尔符号