首先,我知道这意味着什么。问题是我在无法转换为后台调用的标准调用上遇到此错误。我在app开始时收到此错误:
[Parse enableLocalDatastore];
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
我发现这些方法通过在warnParseOperationOnMainThread
上设置符号断点并检查调用堆栈而导致问题。
我无法用异步来替换这些调用,据我所知,这些方法 意味着要从主线程中定期调用。这是一个Parse错误,还是应该从后台线程中调用所有这些方法?
答案 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
});
})
您将不再看到警告。