2011-12-19 101 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處理。