当您在PFFile上调用getData时,如果isDataAvailable返回true,那么这不应导致执行阻塞操作,对吗?

我收到以下警告:执行类似操作时出现Warning: A long-running Parse operation is being executed on the main thread.

if (isDataAvailable)
   [... getData];

但我仍然得到警告。

最佳答案

警告:正在主线程上执行长时间运行的Parse操作。

发送是因为parse想要警告您不要执行繁重的操作,例如在主线程上获取数据。这可能会导致UI复杂化,并且有可能由于不良的UX而被拒绝。

你应该在跑步

[yourPFFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
    if (!error) {
        // data available here, put any operations dependent on the data existing here
    }
    else {
        // notify user that there was an error getting file, or handle error
    }
}];

有了这个,解析程序首先检查以查看数据是否可用,然后再下载新数据。这样,您可以避免在代码中检查isDataAvailable,并且如果存在连接中断或文件很大的情况,它不会阻塞主线程。

关于ios - isDataAvailable导致warnParseOperationOnMainThread()Parse.com,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23073228/

10-08 23:00