ios - 如何在CKError上设置partialErrorsByItemID的值进行测试?
问题描述
我想为处理 CloudKit 操作的类测试我的错误处理。我希望能够构造一个CKError
带有特定部分错误的 a,这样我就可以将它传递到被测操作的完成块中。
CKError
我可以使用代码初始化 a ,.partialError
但由于partialErrorsByItemID
Dictionary 是 get-only,我无法设置部分错误。
let error = CKError(.partialError)
error.partialErrorsByItemID = ["TestItemID": CKError(.zoneNotFound)] // => Cannot assign to property: 'partialErrorsByItemID' is a get-only property
有没有办法控制 的值partialErrorsByItemID
?
解决方案
您可以通过在DictionarypartialErrorsByItemID
中提供相关的键/值对并使用初始化程序来分配值:userInfo
init(_:userInfo:)
let error = CKError(.partialFailure, userInfo: [
CKPartialErrorsByItemIDKey: ["TestItemID": CKError(.zoneNotFound)]
])
推荐阅读
- github - Trivy Scan 总是失败:未能下载漏洞数据库
- c# - 当前上下文中不存在“CultureInfo”和“NumberStyles”
- python - 如何使用 Python 将 Excel 数据传递给 MongoDB?
- asp.net-core - 在运行时在 asp.net core 中添加对类库的引用
- html - CSS图像最大高度不保持纵横比
- three.js - 如何在threejs / react-three-fiber中使用原始图像大小的纹理
- python - 自定义多边形未在 Geoviews 中绘制
- python - 如果 request.META.get('HTTP_REFERER') 使用 Chrome 而不是 Safari
- javascript - 如何每次在网页上有不同的数据?
- json - 如何在 webbrowser 中编写 url 以及如何为 wordpress rest API 编写