我正在更改当前的 Coredata 以与 iCloud 同步。它正确地保存在数据库中并获取,但问题是当我删除应用程序并再次重新安装它时,它不显示数据。
let persistentContaioner : NSPersistentCloudKitContainer
var backgroundContext:NSManagedObjectContext!
init(model:String) {
persistentContaioner = NSPersistentCloudKitContainer(name: model)//NSPersistentContainer(name: model)
//.................................................
let storeURL = URL.storeURL(for: "group.iOS", databaseName: model)
let storeDescription = NSPersistentStoreDescription(url: storeURL)
persistentContaioner.persistentStoreDescriptions = [storeDescription]
//................................................
}
var viewContext : NSManagedObjectContext{
return persistentContaioner.viewContext
}
func createContext(){
viewContext.automaticallyMergesChangesFromParent = true
viewContext.mergePolicy = NSMergePolicy.mergeByPropertyStoreTrump
}
func load (completion:(()-> Void)? = nil){
persistentContaioner .loadPersistentStores{ (storeDescriptor,error) in
if (error != nil) {
print("print there is an error to load the persistent")
return
}
print("print store descriptor \(storeDescriptor)")
}
createContext()
}
}
我保存了 .sqlite 应用内组,以便与我的扩展程序共享它。CloudKit 功能已开启。