2013-03-03 89 views
2

我的iOS 5-6應用程序在嘗試從按一個故事板文件(FifthViewController.storyboard)中的按鈕加載ViewController到另一個xib WebViewController.xib)。確切的錯誤消息:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "WebViewController" nib but the view outlet was not set.'加載ViewController時出現錯誤 - 加載了筆尖,但未設置視圖插座

此錯誤通常出現在視圖插座未連接或ViewControllers尚未分配類的情況下。在WebViewController.xib中,一切都連接在一起,包括視圖(實際上你不能斷開這個)和我的web視圖。我的ViewController的類正確標記爲WebViewContrller。

這裏是我的代碼:

WebViewController.h

@property (weak, nonatomic) IBOutlet UIWebView *webView; 
@property (weak, nonatomic) NSURL *urlToLoad; 

- (id)initWithURL:(NSURL *)url; 

WebViewController.m

@synthesize webView, urlToLoad; 

- (void)viewDidLoad { 
[super viewDidLoad]; 
[webView loadRequest:[NSURLRequest requestWithURL:urlToLoad]]; 
} 

- (id)initWithURL:(NSURL *)url { 
[self setUrlToLoad:url]; 
return self; 
} 

FifthViewController.m - 這是從那裏的一個VC按鈕是調用WebViewContro的地方米勒

- (IBAction)pushedArts:(id)sender { 
WebViewController *wvc = [[WebViewController alloc] initWithURL:[NSURL URLWithString:@"http://www.yahoo.com"]]; 
[self presentModalViewController:wvc animated:YES]; 
} 

image 1image 2 這些圖像顯示內WebViewController.xib和它的類的連接。任何見解將不勝感激。謝謝。

回答

2

-[WebViewController initWithURL:]方法應該調用[super initWithNibName:bundle:]正確初始化您的視圖控制器,包括正確的筆尖關聯等

一般來說,如果您編寫任何初始化程序,它必須(直接或間接)調用超類的指定初始化程序。

+0

將我的init方法改爲:' - (id)initWithURL:(NSURL *)url { self = [super initWithNibName:@「WebViewController」bundle:nil]; [self setUrlToLoad:url]; 迴歸自我; '產生相同的錯誤。然而,我認爲這是咆哮着正確的樹。 – eulr 2013-03-04 02:27:44

+0

等一下,你的WebViewController.xib截圖顯示segues。你確定這不是你屏幕截圖中的故事板嗎? – 2013-03-04 02:34:46

+0

我已經改變了它,但WebViewController.xib實際上是一個故事板(對不起,錯了標籤)。 – eulr 2013-03-04 02:46:51

0

我想你需要檢查你的筆尖文件,因爲我很清楚系統找不到你的筆尖文件,或者視圖插座沒有連接。打開你的筆尖文件,轉到最後一個標籤,並連接你的看法插座,因爲正常的方式,你應該連接其他組件

+0

我剛剛在我的問題的編輯中包含圖像。我相信一切都是正確的連接。也許我的自定義初始化器在WebViewController.m內出錯? – eulr 2013-03-03 23:36:26

相關問題