【发布时间】:2016-01-10 01:06:43
【问题描述】:
这似乎是基本的,但我似乎无法找到引导我走向正确方向的方法。
在我的应用程序中,我有这段代码可以访问 CloudKit 记录:
db.performQuery(query, inZoneWithID: nil) {(results, error) -> Void in
if error != nil {
print("performQuery error on query:\n\(error?.description)")
}
else {
for rec in results! {
// handle the record
}
}
}
这可行,但有时我会出错;例如:
<CKError 0x155cfaa0: \"Request Rate Limited\" (7/2008); Retry after 1.9 seconds>
我明白为什么我会收到错误,但我不知道如何访问 CKError 对象,该对象包含我需要等待的信息,并在 - 在这种情况下 - 1.9 秒(或任何已显示在信息)。闭包中的“错误”是一个 NSError。
如何访问 CKError 记录并检索该记录的 CkErrorCode 和 retryAfter 属性,以便我可以优雅地处理重试?
对不起,如果这看起来很简单,但我肯定没有找到任何解释它的东西。
【问题讨论】: