我的应用程序需要使用CKDatabase运行CKQueryOperation。这需要网络访问并不总是可用。
一旦我将CKQueryOperation添加到CKDatabase,这是关于我的控件停止的位置。
我有办法吗?
我知道我可以使用CKDatabase performQuery执行此操作但是如果可能的话我更愿意使用操作,提前感谢您的帮助!
答案 0 :(得分:0)
对于超时,您可以在CKQueryOperation上设置配置对象:
let config = CKOperation.Configuration()
config.timeoutIntervalForRequest = 5
config.timeoutIntervalForResource = 5
// Config operation
let operation = CKQueryOperation(query: query)
operation.configuration = config
operation.other_stuff..
operation.queryCompletionBlock = { (_, error: Error?) in
guard error == nil else {
// Handle timeout error here.
return
}
...
}
默认超时为60秒。