HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – CloudKit不返回最近的数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个问题,我使用CloudKit保存到icloud,但是立即获取结果不会返回插入的最新数据. @H_404_2@例

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
                }
            }
        }
@H_404_2@结果:

Before saving in cloud kit : 3
CloudKit[22799:882643] Saved in cloudkit
CloudKit[22799:882643] ###### Count after save : 3
@H_404_2@我在这里缺少一些东西吗?

解决方法

当记录保存在CloudKit中时以及索引是否已被该记录中的值更新时,存在延迟. @H_404_2@当CkmodifyRecordsOperation成功完成时,您可以通过其记录标识符立即获取该记录.

@H_404_2@但是,当记录被添加到服务器上的搜索索引时,存在延迟,并且查询将不会立即找到该记录.

@H_404_2@如果您使用CKQuery来返回视图,则需要保留已在本地进行修改的记录的边表,并将其注入视图,直到查询开始返回该记录.

大佬总结

以上是大佬教程为你收集整理的ios – CloudKit不返回最近的数据全部内容,希望文章能够帮你解决ios – CloudKit不返回最近的数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。