Parse SDK 不需要调用 dispatch_get_main_queue() 对吗?
Calling dispatch_get_main_queue() not needed with Parse SDK right?
我正在为 iOS 应用程序使用 Parser Server SDK,似乎以下方法中的返回块总是在主线程上(尽管,是的,它在后台 运行正在获取数据时):
- (void)findObjectsInBackgroundWithBlock:(nullable PFQueryArrayResultBlock)block;
因此在更新 UI 之前似乎没有必要使用这种通用的 GCD 方法,所以我删除了它:
dispatch_async(dispatch_get_main_queue(), ^{
// reload table or whatever
});
但是我在文档中没有看到任何关于它的信息。有谁知道在使用 Parse SDK 获取方法时忽略 GCD 是否完全安全?
好吧,显然答案是:是的! PFQuery
-methods 中的块代码始终在主线程上运行,并且在更新 UI 之前不需要 return 到主线程。
我在文档中找到了它,也在 Stack Overflow 的另一个 answer 中找到了它。
(但是,如果您利用 Bolts.framework
中的 BFTask
方法链接到 SDK,答案是否定的!)
我正在为 iOS 应用程序使用 Parser Server SDK,似乎以下方法中的返回块总是在主线程上(尽管,是的,它在后台 运行正在获取数据时):
- (void)findObjectsInBackgroundWithBlock:(nullable PFQueryArrayResultBlock)block;
因此在更新 UI 之前似乎没有必要使用这种通用的 GCD 方法,所以我删除了它:
dispatch_async(dispatch_get_main_queue(), ^{
// reload table or whatever
});
但是我在文档中没有看到任何关于它的信息。有谁知道在使用 Parse SDK 获取方法时忽略 GCD 是否完全安全?
好吧,显然答案是:是的! PFQuery
-methods 中的块代码始终在主线程上运行,并且在更新 UI 之前不需要 return 到主线程。
我在文档中找到了它,也在 Stack Overflow 的另一个 answer 中找到了它。
(但是,如果您利用 Bolts.framework
中的 BFTask
方法链接到 SDK,答案是否定的!)