我试图了解两个视图控制器之间的通信。
在不进行数据传递的情况下,我看到了两种创建目标控制器实例的方法。
第一个是storyboard?.instantiateViewController(withIdentifier:)
。第二个是ViewController(nibName:bundle:)
。然后为他们提供present(UIViewController..)
。
两种方法有什么区别?他们只是通过情节提要标识符或nibName
查找视图控制器吗?
最佳答案
instantiateViewController(withIdentifier)
用于情节提要中的视图控制器,而UIViewController(nibName:bundle:)
用于在.xib
文件中创建的视图控制器。两者都可以使用,仅取决于创建应用程序的方法。
如果您打算建立复杂的视图控制器关系,则情节提要板可能是您更好的解决方案,因为当您可以在二维位置构建VC时,视图控制器的组织效率更高。