0

我的 iOS 应用程序有一个欢迎屏幕(不要与默认视图混淆)。视图控制器使用 NSXMLParser 下载并解析 XML 文件。当它完成它的任务时,它会显示一个按钮,单击该按钮时会调用“presentViewController”,它将用户带入实际的应用程序。这工作得很好。

然后我决定只希望应用程序自动转换,因此我完全删除了按钮并将对 presentViewController 的调用移动到“parserDidEndDocument”委托方法中。该方法被调用但没有任何反应。我怀疑它与上下文有关,但是当我记录“自我”时,它会打印一个欢迎视图控制器的实例。我究竟做错了什么?我应该如何解决这个问题?

4

1 回答 1

4

尝试将其分派到主线程。NSXmlParser 等异步对象在单独的线程上工作,但 UIKit 更新必须在主线程上完成。

dispatch_async(dispatch_get_main_queue(), ^{
    [self presentViewController]; //Or whatever
});
于 2012-07-10T08:56:26.817 回答