我试图了解两个视图控制器之间的通信。
当传递没有segue的数据时,我看到了两种创建目标控制器实例的方法。
第一个是storyboard?.instantiateViewController(withIdentifier:)
。第二个是ViewController(nibName:bundle:)
。然后将其显示为present(UIViewController..)
。
这两种方法有什么区别?他们只是通过故事板标识符或nibName
找到视图控制器吗?
答案 0 :(得分:4)
instantiateViewController(withIdentifier)
适用于在故事板中的视图控制器,而UIViewController(nibName:bundle:)
适用于在<{1}}文件中创建的视图控制器。两者都可以使用,它只取决于创建应用程序的方法。
如果您计划制作复杂的视图控制器关系,故事板可能是更好的解决方案,因为当您可以在二维位置构建VC时,视图控制器组织会更有效。