2017-09-20 18 views
0

En utilisant CloudKit v1, vous pouvez enregistrer un disque comme celui-ci:Comment enregistrer un enregistrement dans CloudKit JS v2

function demoSaveRecord(recordName,recordChangeTag,zoneName,name,location,asset) { 

    var container = CloudKit.getDefaultContainer(); 
    var privateDB = container.privateCloudDatabase; 

    var record = { 
    recordType: 'Items', 
    fields: { 
     name: { value: name }, ... 
    } 
    }; 

    return privateDB.saveRecord(record,options) 
    .then(function(response) { 
     if (response.hasErrors) { 
     // Handle the errors in your app. 
     throw response.errors[0]; 

     } else { 
     // It worked 
     var createdRecord = response.records[0]; 
     } 
    }); 
} 

Mais dans CloudKit JS v2 ils ont enlevé l'option .saveRecord. Maintenant, je suis coincé parce que je ne peux pas comprendre comment enregistrer un enregistrement dans la version 2. Si quelqu'un peut m'aider, ou peut me montrer une bonne documentation pour v2, s'il vous plaît aider.

diffs API v2 CloudKit JS https://developer.apple.com/library/content/releasenotes/General/CloudKitJS_v2_APIDiffs/JavaScript/CloudKitJS.html

Répondre

0

Apparemment, vous devez utiliser .newRecordsBatch().create(record).commit() à la place.

Dans mon exemple, il ressemblerait à ceci:

function demoSaveRecord(recordName,recordChangeTag,zoneName,name,location,asset) { 

    var container = CloudKit.getDefaultContainer(); 
    var privateDB = container.privateCloudDatabase; 

    var record = { 
    recordType: 'Items', 
    fields: { 
     name: { value: name }, ... 
    } 
    }; 

    return privateDB.newRecordsBatch().create(record).commit() 
    .then(function(response) { 
     if (response.hasErrors) { 
     // Handle the errors in your app. 
     throw response.errors[0]; 

     } else { 
     // It worked 
     var createdRecord = response.records[0]; 
     } 
    }); 
} 

Vous pouvez utiliser la même méthode pour créer, mettre à jour et supprimer des enregistrements comme ceci:

myDatabase.newRecordsBatch() 
    .create(someRecord) 
    .update(someOtherRecord) 
    .delete(aThirdRecord) 
    .commit() 

La documentation se trouve ici: https://developer.apple.com/documentation/cloudkitjs/cloudkit.recordsbatchbuilder