当前位置:  开发笔记 > 运维 > 正文

CKModifyRecordsOperation modifyRecordsCompletionBlock未被调用

如何解决《CKModifyRecordsOperationmodifyRecordsCompletionBlock未被调用》经验,为你挑选了1个好方法。

我正在使用CKModifyRecordsOperation保存一组记录,如果我有互联网连接,一切正常,并且正在调用完成块.但是当我没有连接时,没有调用完成块,我也没有得到任何关于我的操作失败的信息.

我在完成块中使用以下代码

modifyOperations.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error)
{
    if(error){
        NSLog(@"Error: %@", error.localizedDescription);
    }

    item.creatorRecordId = record.recordID;
};

然后我正在使用

[self.publicDB addOperation:modifyOperations];

任何想法如果操作失败,如何在没有互联网连接的情况下如何获取信息?



1> farktronix..:

默认情况下,CloudKit操作的qualityOfService属性设置为NSQualityOfServiceUtility.

使用NSQualityOfServiceUtilityNSQualityOfServiceBackground可能标记为使用自由网络请求的操作.如果网络连接较差,系统可以保留随意的网络请求,因此在条件改善并且系统发送请求之前,您可能无法从服务器获得响应.

如果您希望在所有情况下立即发送您的请求,请设置CKOperation.qualityOfServiceNSQualityOfServiceUserInitiatedNSQualityOfServiceUserInteractive.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有