2009-09-01 65 views
0

MyController * myViewController = [[MyController alloc] initWithNibName:@「myView」bundle:nil];UIViewController第一次不工作

nib文件myView.nib有2個圖像瀏覽和2個uilabels。當我第一次啓動myViewController時,所有4個子視圖都被設置爲0x0。 第二次我沒有得到這樣的行爲。

回答

0

您可能忘記將您的筆尖文件中的視圖連接到MyController的view屬性,和/或將子視圖連接到MyController的各種IBOutlets

+0

如何將nib文件中的視圖掛接到View Controller的視圖屬性? – Minar 2009-09-11 09:51:44

3

視圖對象本身不會被創建,直到通過self.view引用並調用loadView爲止。這可能是您第一次嘗試檢查視圖或對其執行某些操作時尚未發生的情況,第二次可能是在系統創建視圖後再添加到另一個視圖或導航控制器中,或者一些東西。

0

凱芙拉絕對是對的。您可以強制裝載視圖,並在下面的語句設置的所有引用:

if (myViewController.view); 

它什麼也不做,除非你會得到所有子視圖勢必網點。

+0

這個聲明是如何工作的?你能解釋一下嗎? – Minar 2009-09-11 09:52:39

+0

這是空的陳述。 訪問myViewController.view會自動加載視圖,這是一個竅門。 – 2009-09-15 11:10:08

+0

'[myViewController view];'可能更好,因爲它不會觸發任何編譯時錯誤。 – mahboudz 2014-03-10 20:53:18