2011-03-28 116 views
0

我想從代碼加載UIViewController。我基本上創建了一個生成.xib文件的UIViewController。我用下面的代碼加載:如何以編程方式加載UIViewController?

testViewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil]; 

這個工作,但顯然(從我讀)只認爲保持和控制器被釋放(一些東西,我已經測試過把一個斷點在UIViewController的dealloc方法)。我需要保持UIViewController或其他方式,使用從nib文件加載的UIView創建UIViewController。任何人都知道如何實現這一目標?

回答

0

不確定你的意思。你在那裏做的是正確的。既然你已經分配了它,你還需要在某個時候向視圖控制器發送一個release語句,直到那時它不應該被釋放。

在應用程序收到內存警告的特殊情況下,視圖可能會被釋放並設置爲零,但我不確定這是否是您讀過的內容。

+0

我想我錯了。 UIViewController和UIView都將被釋放。我在連接到UIViewController的筆尖內放置了一個UITableViewController。沒有我告訴它的地方就是這個被釋放的人。 ...任何想法可能發生什麼? – jglievano 2011-03-28 20:32:24

+0

嗯,絕對不可思議。你能看到桌面視圖嗎?還是隻是隨機釋放?我會評論任何發佈聲明只是爲了看看它是否有幫助。你能發佈更多的代碼/崩潰日誌嗎? – 2011-03-28 20:37:57

+0

TableView正在顯示,但稍後再次需要委託(UITableViewController)時會崩潰。我不會在任何地方釋放任何東西,但在UITableViewController的UIViewController的dealloc方法中(不會被調用)。崩潰消息EXC_BAD_ACCESS爲例外(用於調用已發佈的對象)。 – jglievano 2011-03-28 20:47:06

相關問題