【发布时间】:2018-03-15 18:36:50
【问题描述】:
我已经构建了基本的 CloudKit 同步引擎并且可以正常工作,现在我正在充实我的错误处理。当您收到 .partialFailure 响应代码时,我想要一份完整的列表,列出每条记录可能出现的错误。
文档有一个所有error codes 的列表,但在我的搜索中(对我而言)并不明显,它们可能会显示在 partialErrorsByItemID 字典中,并且只会显示为错误代码(或者如果它们可以同时显示,也许只发送一条记录?)。
在 Apple CloudKit 共享代码示例中,有一个 CloudKitError 类来处理错误,并处理以下部分错误:
.serverRecordChanged
.zoneNotFound
.unknownItem
.batchRequestFailed
但我不认为这是详尽无遗的,因为课程的其余部分在处理不是 .partialFailure 的错误方面并不详尽。 .invalidArguments 肯定是可能的部分失败错误吗?
以下是我想我需要介绍的内容:
.alreadyShared (if sharing)
.assetFileModified (if using Assets)
.assetFileNotFound (if using Assets)
.batchRequestFailed
.constraintViolation
.invalidArguments
.referenceViolation (if sharing)
.serverRecordChanged
.unknownItem
.zoneBusy?
.zoneNotFound
最后,因为这些是作为部分错误处理的,我是否还需要将它们作为可能来自 CloudKit 的错误代码响应来处理,就像我处理非部分错误代码(如 .serviceUnavailable)一样?我没有使用 CKDatabase 便捷方法,我使用的是 CKModifyRecordsOperation 之类的完整操作,如果这很重要?
提前致谢!
【问题讨论】: