2016-04-28 4 views
-1

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"; 
+0

Mettez à jour votre question avec le code approprié et les détails du problème que vous rencontrez. – rmaddy

+0

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

+0

je viens de mettre à jour merci :) –

Répondre

0

Vous devez chercher le dossier, puis modifier les données et enregistrer ce même procès-verbal.

+0

oui je l'ai fait exactement la même chose que u dit –

+0

et j'eu cette erreur erreur: en option ("enregistrement Erreur d'enregistrement vers le serveur: les données de protection ne correspondent pas ") –