摘要
在CloudKit
中,您希望了解CKError.Code
可能的所有.partialFailure
。
目前我只处理以下CKError.Code
部分故障。
假设:
.serverRecordChanged
//仅适用于保存记录.zoneNotFound
//仅适用于提取区域.unknownItem
//仅适用于提取项目.batchRequestFailed
//仅适用于在自定义区域中保存记录CKError
,但逻辑上partialFailure在项目级别而不是在操作级别失败,因此partialFailure
不会包含操作级别错误,例如networkUnavailable
/ badContainer
/ badDatabase
。partialFailure
的处理方式 - https://developer.apple.com/library/content/samplecode/CloudKitShare/Introduction/Intro.html(搜索handlePartialError
) - 问题:
对于partialFailure
,以上所述是唯一可能的错误
代码?
错误是serverRecordChanged
,zoneNotFound
,
unknownItem
只能作为partialFailure
错误的一部分? (将
完成处理程序返回的错误不直接包含
serverRecordChanged
,zoneNotFound
,unknownItem
但仅限于此
partialFailure
错误可能包含它们?)
我的评论是关于 当上述每个错误都正确的时候? (仅适用于......)
limitExceeded
次操作和CKFetch
操作是否会引发CKModify
错误,或者只是
适用于CKModify
操作?
答案 0 :(得分:1)
部分失败意味着某些操作中涉及的一些CKRecords失败了,也许其他人完成没有问题。错误可能来自CKError结构
没有。这些错误可能发生在CKDatabase.save或CKDatadabe获取操作中。
+ - ; - )
limitExceeded 可能会发生。用于获取它的iCloud服务器,它会在等待获取更多记录时通知客户端(您)。例如,CKFetchNotificationChangesOperation具有属性moreComing,表示您需要进行另一次提取操作。