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

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

第一个是storyboard?.instantiateViewController(withIdentifier:)。第二个是ViewController(nibName:bundle:)。然后为他们提供present(UIViewController..)

两种方法有什么区别?他们只是通过情节提要标识符或nibName查找视图控制器吗?

最佳答案

instantiateViewController(withIdentifier)用于情节提要中的视图控制器,而UIViewController(nibName:bundle:)用于在.xib文件中创建的视图控制器。两者都可以使用,仅取决于创建应用程序的方法。

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

10-08 09:24