Je dois remplacer les données existantes dans CloudKitComment remplacer les données existantes de CloudKit dans Swift?
J'ai essayé d'utiliser saveRecord
et cela ne fonctionne pas vraiment pour moi.
Dans mon cas, je dois juste écraser une seule donnée.
Alors, comment puis-je faire?
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
if locationEnable == true {
if loaded == true {
let location = locations.last! as CLLocation
let location2 = locations.last!
var a:String?
if(Data.count != 0){ a = Data[0].valueForKey("identity") as? String}
else {a = Data3!.valueForKey("identity") as? String}
let id = CKRecordID(recordName: a!)
let locationRecord = CKRecord(recordType: "Driver", recordID: id)
locationRecord.setObject(location2, forKey: "X")
locationRecord.setObject(a!, forKey: "Identity")
AddRecordToCloud(locationRecord)
}
if UIApplication.sharedApplication().applicationState != .Active {
print("Background Updating")
}
}
}
func AddRecordToCloud(record:CKRecord){
let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase
publicDatabase.saveRecord(record, completionHandler: { (record:CKRecord?, error:NSError?) -> Void in
if(error != nil){print("error:\(error)")}
else {print("saving")}
})
}
ici est l'erreur:
error:Optional(<CKError 0x7fb858f5ba80: "Server Record Changed" (14/2004); server message = "record to insert already exists";
Mettez à jour votre question avec le code approprié et les détails du problème que vous rencontrez. – rmaddy
S'il vous plaît ne pas dupliquer [votre propre poste.] (Http://stackoverflow.com/questions/36907061/how-to-keep-updating-cloud-kit-record-in-swift) – NobodyNada
je viens de mettre à jour merci :) –