2016-04-28 9 views
-1

Ich muss vorhandene Daten in CloudKitWie überschreiben Sie vorhandene Daten von CloudKit in Swift?

überschreiben Ich habe versucht, saveRecord zu verwenden, und es funktioniert nicht wirklich für mich.

In meinem Fall muss ich nur ein einzelnes Daten überschreiben.

Also wie kann ich tun?

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")} 
     }) 
    } 

hier ist der Fehler:

error:Optional(<CKError 0x7fb858f5ba80: "Server Record Changed" (14/2004); server message = "record to insert already exists"; 
+0

Aktualisieren Sie Ihre Frage mit relevanten Code und Details über das Problem, das Sie haben. – rmaddy

+0

Bitte nicht duplizieren [Ihre eigene Post.] (Http://stackoverflow.com/questions/36907061/how-to-keep-updating-cloud-kit-record-in-swift) – NobodyNada

+0

Ich habe gerade aktualisiert danke :) –

Antwort

0

Sie haben den Rekord zu holen, dann die Daten darin ändern und wieder die gleiche Datensatz speichern.

+0

ja, ich habe genau das gleiche gelöst werden, wie u –

+0

sagte, und ich habe diesen Fehler Fehler: Optional ("Fehler beim Speichern der Aufzeichnung zum Server: Schutzdaten stimmen nicht überein ") –

Verwandte Themen