我正在尝试使用CloudKit将核心数据镜像到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)发布于 2020-12-31 22:08:48
我找到问题了。这与我从核心数据中获取数据的方式有关。当我使用NSFetchedResultsController,在委托方法中获取iCloud中的更改的更新时,它可以工作:controllerWillChangeContent
https://stackoverflow.com/questions/65521534
复制相似问题