正常Parse函数上的主线程警告正在执行长时间运行的操作

时间:2014-12-13 18:29:54

标签: ios parse-platform ios8 ios8.1

首先,我知道这意味着什么。问题是我在无法转换为后台调用的标准调用上遇到此错误。我在app开始时收到此错误:

[Parse enableLocalDatastore];

PFInstallation *currentInstallation = [PFInstallation currentInstallation];

我发现这些方法通过在warnParseOperationOnMainThread上设置符号断点并检查调用堆栈而导致问题。

我无法用异步来替换这些调用,据我所知,这些方法 意味着要从主线程中定期调用。这是一个Parse错误,还是应该从后台线程中调用所有这些方法?

1 个答案:

答案 0 :(得分:6)

将来电包裹起来......

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    PFInstallation *currentInstallation = [PFInstallation currentInstallation];

        dispatch_async(dispatch_get_main_queue(), ^(void){
            // any UI updates need to happen in here back on the main thread
        });
})

您将不再看到警告。