【问题标题】:What are the differences between instantiateViewController(withIdentifier:) vs ViewController(nibName:bundle:)?instantiateViewController(withIdentifier:) 与 ViewController(nibName:bundle:) 有什么区别?
【发布时间】:2017-10-20 15:41:24
【问题描述】:

我试图理解两个视图控制器之间的通信。

在不使用 segue 的情况下传递数据时,我看到了两种创建目标控制器实例的方法。

第一个是storyboard?.instantiateViewController(withIdentifier:)。第二个是ViewController(nibName:bundle:)。然后向他们展示present(UIViewController..)

这两种方法有什么区别?他们只是通过故事板标识符或nibName 来查找视图控制器吗?

【问题讨论】:

  • 是的,这取决于视图控制器的设计位置(即在哪种文件中)。

标签: ios uiviewcontroller


【解决方案1】:

instantiateViewController(withIdentifier) 用于故事板中的视图控制器,而UIViewController(nibName:bundle:) 用于.xib 文件中创建的视图控制器。两者都可以使用,只是取决于创建应用程序的方法。

如果您打算建立复杂的视图控制器关系,故事板可能是您更好的解决方案,因为当您可以在二维位置构建 VC 时,视图控制器组织会更有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2013-03-14
    • 2018-09-14
    • 2014-01-03
    • 2021-12-22
    相关资源
    最近更新 更多