2013-12-15 52 views
0

我有一個基於Storyboard的應用程序。每個視圖控制器(在Storyboard中)都有自己的自定義類(帶有.h和.m文件)。Storyboard - ViewController setViewDelegate:無法識別的選擇器

那些控制器繼承自UIViewController。當任何控制器(除了第一個)的被調用,我得到一個錯誤:

[controller _setViewDelegate:]: unrecognized selector sent to instance 0x8ab94e0.

什麼會導致這個錯誤?

這裏是OptionsController,這是有問題的控制器之一的一部分:

#import "OptionsController.h" 

@implementation OptionsController 

- (id)init 
{ 
    if (self = [super init]) { 
     // Initialization code 
    } 
    return self; 
} 

-(void)viewWillAppear:(BOOL)animated 
{ 
    [self.musicSwitch setOn:[[[NSUserDefaults standardUserDefaults]objectForKey:@"music"] boolValue]]; 
    [self.soundSwitch setOn:[[[NSUserDefaults standardUserDefaults]objectForKey:@"sound"] boolValue]]; 
} 
+0

你有沒有試過在'[UIViewController -_setViewDelegate:]'上設置斷點?您可以查看堆棧跟蹤並瞭解它爲什麼會被調用。 –

+0

可能的重複http://stackoverflow.com/questions/19982332/nsinvalidargumentexception-after-manually-triggering-seque/19983494#19983494 – rdelmar

回答

1

在頭文件或故事板中,您都錯誤地將OptionsController聲明爲UIView的子類,而不是UIViewController

+0

在OptionsController.h中,我有這樣的:@interface OptionsController:UIViewController –

+0

而在你的故事情節? –

+0

在故事板中還有UIViewController –

0

很難說。方法名_setViewDelegate幾乎可以肯定和內部的方法。

發佈創建新視圖控制器並呈現它的代碼。

相關問題