ios - 在后台线程上创建 UIViewController 可以吗?

标签 ios uiviewcontroller thread-safety uikit background-thread

相关:Is it ok to create a UIView on a background thread?

这个后台线程代码安全吗?

let viewController = MyViewController(nibName: nil, bundle: nil)
viewController.title = "My Title"
viewController.myProperty = true
dispatch_async(dispatch_get_main_queue(), {
    self.navigationController?.pushViewController(viewController, animated: true)
})

最佳答案

@ozgur 的回答似乎已经过时了。如果您尝试在最新版本的 Xcode(撰写本文时版本 11.5)中从后台线程创建 UIViewController,那么您将收到以下错误:

-[UIViewController init] must be used from main thread only

关于ios - 在后台线程上创建 UIViewController 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33511187/

相关文章:

ios - 如何使用 UICollectionView 防止滚动 UIScrollView

ios - 使用 downloadTaskWithRequest 时 ResumeData 为零

ios - 一个文件中的多个类

c++ - 编写 std::vector 与普通数组的线程安全

ios - 如何使用 Storyboard 重新排列 UITabBarController 项目?

ios - 此崩溃报告中是否有任何有用的信息?

iphone - 对于 UIViewController 哪些方法应该是 "release"并将导出/实例变量设置为 "nil"?

objective-c - 如何在removefromsuperview后执行方法

c# - 使用 setter 时,何时应该在多线程单例中锁定静态实例?

iphone - UserDefaults 线程安全吗