我有这个问题,我使用CloudKit保存到icloud,但是立即获取结果不会返回插入的最新数据.
例
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
我在这里缺少一些东西吗?