Tôi đang gặp sự cố này khi tôi lưu nội dung nào đó vào icloud bằng CloudKit nhưng ngay lập tức tìm nạp kết quả không trả lại dữ liệu mới nhất được chèn vào.CloudKit không trả về dữ liệu gần đây nhất
Ví dụ
let todoRecord = CKRecord(recordType: "Todos")
todoRecord.setValue(todo, forKey: "todotext")
publicDB.saveRecord(todoRecord, completionHandler: { (record, error) -> Void in
NSLog("Saved in cloudkit")
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Todos",
predicate: predicate)
self.publicDB.performQuery(query, inZoneWithID: nil) {
results, error in
if error != nil {
dispatch_async(dispatch_get_main_queue()) {
self.delegate?.errorUpdating(error)
return
}
} else {
NSLog("###### fetch after save : \(results.count)")
dispatch_async(dispatch_get_main_queue()) {
self.delegate?.modelUpdated()
return
}
}
}
Kết quả:
Before saving in cloud kit : 3
CloudKit[22799:882643] Saved in cloudkit
CloudKit[22799:882643] ###### Count after save : 3
Am tôi thiếu một cái gì đó ở đây chàng trai?
Tài liệu của Apple: "Chỉ mục được cập nhật không đồng bộ để chúng không được đảm bảo là hiện tại". Từ trang này: https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CloutKitWebServicesReference/QueryingRecords/QueryingRecords.html – stevex