是否可以取消当前正在进行且未完成的 CloudKit
查询操作?例如,假设我有一个应用程序,用户可以在其中输入电子邮件地址,然后点击搜索按钮。然后,该应用程序将继续搜索 CKDatabase
中存储的大量电子邮件地址。如果应用程序要显示一个 UIView
来通知用户“当前正在搜索(插入电子邮件地址)”,并且还有一个取消按钮以防查询时间过长。有没有办法让用户点击那个取消按钮,然后执行一些代码来取消 CloudKit
当前正在执行的查询?
我问的原因是我目前正在开发的 iOS 应用程序也有类似的情况。通常一切都运行良好且非常快,但在某些情况下,我要么立即意识到我输入了错误的电子邮件地址并需要取消,要么当我在我的 iPhone 上使用我的手机网络完成测试时,查询可能需要一个比 wifi 长很多。
我想一定有办法做到这一点,对吧?任何可以提供答案或为我指出正确方向的人都将不胜感激!
最佳答案
假设您正在使用 CKQueryOperation
,只要您有对它的引用,就可以在该操作上调用 cancel
。
然后您应该正确处理完成 block 中产生的 CKErrorOperationCancelled
错误。
关于ios - 取消正在进行的 CloudKit 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37599932/