2012-08-27 28 views
0

當試圖添加新視圖時遇到了這個非常令人沮喪的問題,我有兩種不同類型的視圖:LargeCoverViewControllerCoverViewControllerinitWithNibName不起作用

我創建了一個LargeCoverViewController這樣的:

LargeCoverViewController *tmpCover = [[LargeCoverViewController alloc] initWithNibName:@"LargeCoverViewController" bundle:nil andIssue:issue]; 

這只是工作,但是當我嘗試創建一個CoverViewController,它拒絕工作

CoverViewController *tmpCover = [[CoverViewController alloc] initWithNibName:@"CoverViewController" bundle:nil andIssue:issue]; 

我想它有話用.xib文件做,當我這樣做的時候它再次「起作用」

CoverViewController *tmpCover = [[CoverViewController alloc] initWithNibName:@"LargeCoverViewController" bundle:nil andIssue:issue]; 

在Interface Builder中,類設置正確,我的視圖正確鏈接。 (它基本上只是LargeCoverViewController的一個副本),我還錯過了什麼嗎? 它變得非常令人沮喪......

編輯: 我的應用程序不會崩潰,如果我的nibname錯誤,應用程序應該崩潰,這不是這裏的情況。

+0

拒絕工作?我敢打賭,這不是你收到的錯誤信息?問題是什麼? – Rog

+0

@Rog,Jup,它拒絕工作,沒有任何事情發生,我的觀點仍然是空的。 viewDidLoad被調用,只是沒有顯示。 –

回答

3

嘗試創建新的獨立XIB文件,而不是複製整個XIB文件,然後將UI插口和視圖從其他XIB複製到此新創建的XIB文件。

有時,Xcode與複製粘貼混淆。我知道這是不正確的解決方案,但有時它的工作原理。 :)

+0

好吧,似乎工作,雖然我從來沒有複製XIB文件(只是創建自己的),現在做同樣的事情,它的工作原理... –

+0

我同意BornCoder,Xcode有時會與複製粘貼混淆。我實際上已經在粘貼時沒有複製過這些插口,並花了很多時間試圖弄清楚什麼是壞的。經常檢查你的網點。 – BigSauce

0

複製ViewController時,文件所有者的自定義類保持不變,因此將其更改爲新的ViewController,並在更改後再次綁定您的視圖。

+0

我沒有複製它(它看起來是一樣的),我檢查了文件所有者的類一百萬次,它的設置是正確的。 –

0

您的應用程序在該行上崩潰了嗎?檢查控制檯的日誌。您可能收到錯誤消息或崩潰日誌。

如果您從任何其他XIB複製了XIB資源,然後檢查可能無法提供給此新類的鏈接網點。

我希望這會幫助你,並能夠解決問題。

+0

我的應用程序不會崩潰,所有函數都正確調用,只是當我使用'CoverViewController'作爲一個nib名稱時,沒有任何顯示。 –

+0

如果該類是** UIViewController **,那麼檢查** - (void)ViewDidLoad **是否被調用? – BornCoder

+0

'viewDidLoad'被稱爲 –