1

我正在使用下面的代码来更新记录。更新记录后,我想运行刷新功能。目前,刷新函数有时会在记录更新之前调用,因此刷新结果与记录更新之前相同。

谢谢

var tempDocumentsArray:NSArray!
let recordID = CKRecordID(recordName: "layerAbove")
var predicate = NSPredicate(format: "recordID = %@", recordID)
let query = CKQuery(recordType: "Layers", predicate: predicate)
self.publicDB.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in
tempDocumentsArray = results
print("Results are: \(tempDocumentsArray)")
let record = tempDocumentsArray[0] as! CKRecord

var layerAbovePrevPos = record.objectForKey("layerNumber") as! Int
layerAbovePrevPos = layerAbovePrevPos - 1
let nlnChanged = record.setObject(layerAbovePrevPos, forKey: "layerNumber")

self.publicDB.saveRecord(record, completionHandler: { (returnRecord, error) -> Void in
    if let err = error {
        print("Error: \(err.localizedDescription)")
    } else {
        dispatch_async(dispatch_get_main_queue()) {
            print("Success")


            //TODO:This is sometimes called before the save is complete!
            self.resetAndGet()


        }
    }
})
}
4

0 回答 0