Ios InstanceEviewController(标识符:)与ViewController(nibName:bundle:)之间有什么区别?

Ios InstanceEviewController(标识符:)与ViewController(nibName:bundle:)之间有什么区别?,ios,uiviewcontroller,Ios,Uiviewcontroller,我试图理解两个视图控制器之间的通信 在不使用segue传递数据时,我看到了两种创建目标控制器实例的方法 第一个是storyboard?.instanceeviewcontroller(带标识符:)。第二个是ViewController(nibName:bundle:)。然后使用present(UIViewController..)向他们演示 这两种方法的区别是什么?它们只是通过情节提要标识符或nibName查找视图控制器吗?实例化视图控制器(带标识符)用于情节提要中的视图控制器,而UIViewC

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

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

第一个是
storyboard?.instanceeviewcontroller(带标识符:)
。第二个是
ViewController(nibName:bundle:)
。然后使用
present(UIViewController..)
向他们演示


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

实例化视图控制器(带标识符)
用于情节提要的视图控制器,而
UIViewController(nibName:bundle:)
适用于在
.xib
文件中创建的。两者都可以使用,这取决于创建应用程序的方法


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

InstanceEviewController(带标识符)
用于故事板中的视图控制器,而
UIViewController(nibName:bundle:)
用于在
.xib
文件中创建的视图控制器。两者都可以使用,这取决于创建应用程序的方法

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

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