13
CloudKit을 사용하여 icloud에 저장 한이 문제가 발생하지만 즉시 결과를 가져 오면 삽입 된 최신 데이터가 반환되지 않습니다.CloudKit에서 가장 최근 데이터를 반환하지 않습니다.
예
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
}
}
}
결과 :
Before saving in cloud kit : 3
CloudKit[22799:882643] Saved in cloudkit
CloudKit[22799:882643] ###### Count after save : 3
오전 내가 여기에 사람을 뭔가 빠진?
Apple docs : "인덱스가 비동기 적으로 업데이트되어 현재 상태가 보장되지 않습니다." 이 페이지에서 https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CloutKitWebServicesReference/QueryingRecords/QueryingRecords.html – stevex