2011-12-19 64 views
0

我对ViewController.xib和MainWindow.xib之间的区别感到困惑。xcode 4.2 iphone ViewController.xib和MainWindow.xib

所有的教程和书籍似乎都引用了MainWindow.xib,这是非常一致的。 但是,当我从xcode中选择任何模板时,我没有看到它。

对于某些模板,我有时会看到ViewController.xib预制。但是,MainWindow.xib仍然没有被创建。

这使我困惑。 MainWindow.xib是否重要?为什么很多教学资源引用这个MainWindow.xib文件,但不是它没有创建的原因?它是我的xcode版本吗?

回答

1

MainWindow.xib是使用大多数包含的xCode 4.2模板创建的。它只包含一个由App Delegate使用的.xib中的UIWindow。 UIWindow是您的应用程序所在的窗口。

MainWindow.xib和ViewController.xib之间的区别很大,而且很小。您可以在MainWindow.xib中选择您的整个应用程序UI。这意味着你只需要为你的整个应用程序提供一个视图。如果您选择在ViewController.xib中布局应用程序,则可能需要一个或多个视图。 MainWindow.xib和ViewController.xib最大的区别在于ViewController.xib是Model View Controller(或MVC)模式的View部分。从Wikipedia MVC的

定义:

模型视图控制器(MVC)模式创建分开的应用程序的不同方面(输入逻辑,商业逻辑,以及UI逻辑),同时提供了应用程序这些元素之间的松散耦合。

的ViewController.xib包含将通过一个UIViewController来控制一个UIView。通过UIViewController类,您可以轻松处理视图,了解何时发生视图加载和卸载等事件。 MainWindow.xib中的UIWindow被连接到一个App Delegate,它只知道有关应用程序启动的信息以及其他特定于应用程序的事件。

如果您选择,您可以修改MainWindow.xib以包含UIView,以便由单独的UIViewController处理。