2010-08-19 58 views
0

我是iPhone開發人員的新手,而且我被UIViewController弄糊塗了。有關UIView和UIViewController的iPhone編程問題

大多數程序都是以視圖控制器開始的,但我不知道爲什麼需要它。 ViewController有一個視圖,但不能使用drawRect方法。 那麼爲什麼不直接在UIWindow等地方使用View而不是ViewController呢?

我瞭解到,要初始化視圖,您需要使用initWithCoder,因爲視圖位於nib文件中。但爲什麼視圖在nib文件中?我繼承了UIView並在drawRect中做了一些繪圖,它與nib文件的連接是什麼?

回答

1

您可以在Interface Builder中打開nib文件,以便以圖形方式而不是以編程方式構建用戶界面。所以你不需要drawRect,你可以通過界面構建​​器來構建你的界面。

UIViewControllers包含UIViews。 Apple相信Model-View-Controller軟件體系結構,其中數據與視圖分離,但數據和視圖由處理應用程序邏輯的控制器類連接。

型號< - >控制器< - >查看

CustomDataClass < - >的UIViewController < - > UIView的

+0

DATACLASS附近NSObject的是誤導性的,因爲即使是UIViewController的UIView的和有NSObjects – rano 2010-08-19 18:11:03

+0

你對!我編輯了我的答案,希望它不再誤導。 – jmont 2010-08-19 19:08:53

+0

謝謝您的信息!雖然我認爲UIViewController本身不應該包含視圖。 – user425482 2010-08-20 12:58:52