如何设置CKError的partialErrorsByItemID的值进行测试?
How to set the value of partialErrorsByItemID on CKError for testing?
我想测试我对 class 处理 CloudKit 操作的错误处理。我希望能够构建一个带有特定部分错误的 CKError
,以便我可以将其传递到被测操作的完成块中。
我可以使用 .partialError
代码初始化 CKError
,但是由于 partialErrorsByItemID
字典是只获取的,我无法设置部分错误。
let error = CKError(.partialError)
error.partialErrorsByItemID = ["TestItemID": CKError(.zoneNotFound)] // => Cannot assign to property: 'partialErrorsByItemID' is a get-only property
有没有办法控制partialErrorsByItemID
的值?
您可以通过在 userInfo
字典中提供相关的 key/value 对并使用 init(_:userInfo:)
初始值设定项来分配 partialErrorsByItemID
的值:
let error = CKError(.partialFailure, userInfo: [
CKPartialErrorsByItemIDKey: ["TestItemID": CKError(.zoneNotFound)]
])
我想测试我对 class 处理 CloudKit 操作的错误处理。我希望能够构建一个带有特定部分错误的 CKError
,以便我可以将其传递到被测操作的完成块中。
我可以使用 .partialError
代码初始化 CKError
,但是由于 partialErrorsByItemID
字典是只获取的,我无法设置部分错误。
let error = CKError(.partialError)
error.partialErrorsByItemID = ["TestItemID": CKError(.zoneNotFound)] // => Cannot assign to property: 'partialErrorsByItemID' is a get-only property
有没有办法控制partialErrorsByItemID
的值?
您可以通过在 userInfo
字典中提供相关的 key/value 对并使用 init(_:userInfo:)
初始值设定项来分配 partialErrorsByItemID
的值:
let error = CKError(.partialFailure, userInfo: [
CKPartialErrorsByItemIDKey: ["TestItemID": CKError(.zoneNotFound)]
])