解析SDK不需要调用dispatch_get_main_queue()吗?

时间:2019-02-06 11:49:27

标签: ios objective-c multithreading grand-central-dispatch parse-server

我正在使用适用于iOS应用程序的Parser Server SDK,并且以下方法中的返回块似乎总是在主线程上(尽管是的,当获取数据时,它在后台运行):

- (void)findObjectsInBackgroundWithBlock:(nullable PFQueryArrayResultBlock)block;

因此,似乎不需要在更新UI之前使用此通用GCD方法,因此我将其删除:

dispatch_async(dispatch_get_main_queue(), ^{
    // reload table or whatever
});

但是,我在文档中什么都没有看到。有谁知道使用Parse SDK提取方法时完全忽略GCD是否完全安全?

1 个答案:

答案 0 :(得分:0)

好的,显然答案是:是的! PFQuery方法中的块代码始终在主线程上运行,并且在更新UI之前无需返回主线程。

我在文档中以及在Stack Overflow的另一个answer中找到了它。

(但是,如果您利用BFTask中的Bolts.framework方法链接到SDK,答案为否!)