presentViewController是否有必需的上下文?

时间:2012-07-10 08:49:36

标签: ios uiviewcontroller nsxmlparser

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

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

1 个答案:

答案 0 :(得分:4)

尝试将其分派到主线程。像NSXmlParser这样的异步对象可以在不同的线程上工作,但UIKit更新必须在主线程上完成。

dispatch_async(dispatch_get_main_queue(), ^{
    [self presentViewController]; //Or whatever
});