2011-01-28 77 views
0

我正在瀏覽Apple的一些示例代碼。以下5個報表不屬於「MoveMe的」樣本項目MoveMeAppDelegate.m:關於[UIViewController alloc]的問題

UIViewController *aViewController = [[UIViewController alloc] initWithNibName:@"MoveMeView" bundle:[NSBundle mainBundle]]; 

self.viewController = aViewController; 
[aViewController release]; 

UIView *controllersView = [viewController view]; 
[window addSubview:controllersView]; 

從技術文檔,@「MoveMeView」定義了廈門國際銀行文件的名稱。但似乎xib文件可以有多個視圖對象。在上面的最後一個語句中,controllersView被添加到窗口對象中。我的問題是如果窗口有多個視圖,那麼編譯器如何知道上面的代碼是指哪個視圖?

+0

僅供參考,編譯器與它無關。這是UIKit運行時。 – 2011-01-28 01:42:43

+0

感謝您的供參考,它有助於... – Stanley 2011-01-28 02:23:38

回答

2

如果您問您的應用程序如何知道哪個視圖是控制器視圖:在.xib文件中,您將其中一個視圖「附加」到控制器。這種關係稱爲出口,在代碼中由實例變量或屬性上的IBOutlet標記表示。

欲瞭解更多信息,請參閱Apple的資源編程指南 - 具體來說,the section標題爲「筆尖文件」。

如果您問窗口如何知道哪些視圖屬於它:iOS上的窗口也是一個視圖,並且可以有(幾乎)無限數量的子視圖。

如果你還有其他問題...我不知道你在問什麼,所以請澄清。