我以前從未見過此響應,在同一應用程序的不同運行中,同一動作會引發不同的錯誤。按鈕單擊在後續啓動時給出不同的錯誤
我有一個按鈕(只是記錄發件人)在一個NSViewController子類,單擊按鈕(這是一個OSX應用程序)時引發錯誤的IBAction。我得到這些(到目前爲止):
-[NSArrayM buttonClick:]: unrecognized selector sent to instance
-[__NSCFDictionary buttonClick:]: unrecognized selector sent to instance
-[__NSCFSet buttonClick:]: unrecognized selector sent to instance
-[NSRunLoop buttonClick:]: unrecognized selector sent to instance
而且,可怕的EXC_BAD_ACCESS。
在本試驗中應用的唯一代碼是這樣在應用程序的委託來實例化視圖控制器:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
TestController *controller = [[TestController alloc] initWithNibName:@"TestController" bundle:nil];
[self.window.contentView addSubview:controller.view];
}
這IBAction爲在視圖控制器亞類:
-(IBAction)buttonClick:(id)sender {
NSLog(@"%@",sender);
}
的IBAction爲這是在視圖控制器中實現的連接在IB(通過文件的所有者)到它在其視圖中的按鈕。
我不明白我如何能在這樣一個簡單的程序中得到這麼多不同的錯誤消息。這可能是視圖控制器不在響應鏈中的問題嗎?如果是這樣,爲什麼它應該拋出錯誤,不應該把這條消息傳遞給鏈條然後丟棄?
我試着讓控制器的視圖設置控制器作爲下一個響應者([controller.view setNextResponder:controller];),但這只是在啓動時給我EXC_BAD_ACCESS錯誤。