0

我正在更改当前的 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 功能已开启。

4

0 回答 0