【问题标题】:NSPersistentCloudKitContainer returns no data on first app launchNSPersistentCloudKitContainer 在首次应用启动时不返回任何数据
【发布时间】:2021-04-07 19:37:11
【问题描述】:

我正在尝试使用 CloudKit 将 Core Data 镜像到 iCloud。当我在模拟器上删除应用程序然后运行该应用程序时,该应用程序不显示任何数据。然后我再次运行它,这次它显示数据。我试了多次,结果一致,第一次启动显示没有数据,但第二次启动显示数据。

容器代码:

lazy var persistentContainer: NSPersistentCloudKitContainer = {
    let container = NSPersistentCloudKitContainer(name: "MyApp")
    container.loadPersistentStores(completionHandler: { (_, error) in
        guard let error = error as NSError? else { return }
        fatalError("###\(#function): Failed to load persistent stores:\(error)")
    })
    container.viewContext.automaticallyMergesChangesFromParent = true
    
    return container
}()

获取代码:

let fetchRequest: NSFetchRequest<MyModel> = MyModel.fetchRequest()
let results = try? context.fetch(fetchRequest)

【问题讨论】:

    标签: ios icloud cloudkit nspersistentcloudkitcontainer


    【解决方案1】:

    我发现了问题。这与我从 Core Data 获取的方式有关。 当我使用NSFetchedResultsController 时,它可以工作,我在委托方法中获取 iCloud 更改的更新:controllerWillChangeContent

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      相关资源
      最近更新 更多