我对ViewController.xib和MainWindow.xib之间的差异感到困惑。
所有教程和书籍似乎都引用了MainWindow.xib,非常一致。 但是,当我从xcode中选择任何模板时,我看不到它。
对于某些模板,我有时会看到预制的ViewController.xib。但是,仍然没有创建MainWindow.xib。
这让我很困惑。 MainWindow.xib重要吗?为什么许多教学资源引用此MainWindow.xib文件,但不是没有创建它的原因?这是我的xcode版本吗?
答案 0 :(得分:1)
使用大多数包含的xCode 4.2模板创建MainWindow.xib。它只包含一个.xib中的UIWindow,由App Delegate使用。 UIWindow是您的应用程序所在的窗口。
MainWindow.xib和ViewController.xib之间的区别很大,很少。您可以在MainWindow.xib中选择整个应用程序UI。这意味着您只需要一个视图用于整个应用。如果选择在ViewController.xib中布局应用程序,则可能需要一个或多个视图。 MainWindow.xib和ViewController.xib之间的最大区别在于ViewController.xib是模型视图控制器(或MVC)模式的View部分。
来自Wikipedia的MVC的定义:
模型视图控制器(MVC)模式创建将应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分开的应用程序,同时在这些元素之间提供松散耦合。
ViewController.xib包含一个由UIViewController控制的UIView。 UIViewController类使您可以轻松处理视图,了解何时发生视图加载和卸载等事件。 MainWindow.xib中的UIWindow连接到App Delegate,它只知道有关Application启动的信息以及其他特定于应用程序的事件。
如果你选择,你可以修改MainWindow.xib以包含一个由单独的UIViewController处理的UIView。