2012-07-06 34 views
0

我有兩個nib文件。 ViewController.xib和NewView.xib。UIViewController presentModalViewController:animated:causes SIGABRT

從第1筆尖的裏面的viewController時,我嘗試在點擊按鈕執行以下代碼:

NewView *secondView = [NewView alloc] initWithNibName:@"NewView.xib" bundle:nil]; 
secondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:secondView animated:YES]; 

一個SIGABRT發送到程序。 (NewView的是第二個視圖控制器)

但是當我更換第一行:

NewView *secondView = [NewView alloc]init]; 

它工作正常,我的第二個筆尖呈現爲模態的視圖。

該文件的所有者被設置爲NewView並且視圖也連接到該文件的所有者。

我對iOS很新,不明白爲什麼會發生這種情況。請拋出一些光。

+0

加載xib文件後,嘗試添加類似於NSLog(「New View:%@」,secondView)的內容,以便我們可以看到secondView是否實際上正在加載。我懷疑它可能是零。 – 2012-07-06 19:37:25

+0

是。它沒有被加載。但我不明白爲什麼。 – Rakesh 2012-07-06 19:43:19

回答

3

其實,我想我知道你需要做什麼。試着用

NewView *secondView = [NewView alloc] initWithNibName:@"NewView" bundle:nil]; 

更換

NewView *secondView = [NewView alloc] initWithNibName:@"NewView.xib" bundle:nil]; 

我相信,我以前也有這個問題,並且它下來的事實,你是不是希望加載XIB文件時包括擴展名。

+0

是的。就是這樣。非常感謝。 – Rakesh 2012-07-06 19:44:15