ios - presentViewController 是否有必需的上下文?

标签 ios uiviewcontroller nsxmlparser

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

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

最佳答案

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

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

关于ios - presentViewController 是否有必需的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11409725/

相关文章:

swift - 如何声明泛型基类?

ios - 转至 UIViewController 而不初始化新对象

iphone - 当我在不同类别中有多个同名节点时,如何使用 NSXMLParser 读取 XML?

objective-c - NSXML解析器: where store values?

iOS >> ShareKit : How to Solve the Warnings in the FBRequest File?

iOS AudioSession初始化错误

ios - 无法将类型 'NSMutableArray' 的值转换为预期的参数类型 '[SKTexture]'

ios - 使用Facebook IOS SDK 3.1和Graph API发布带标题的图像

ios - CollectionViewController,我应该使用普通的 UIViewController 子类化或实现它的委托(delegate)/数据源吗?

iphone - 在 View 之间传递数据不起作用