2012-12-26 123 views
0

我正在使用Action Sheet Picket。我添加.h和.m文件按照自述文件中的說明,選擇器,甚至cancelAction運行良好,但不知何故successAction用此消息拋出NSInvalidArgumentException:「無法識別的選擇器發送到實例」。ActionSheet拋出無法識別的選擇器發送到實例

應用程序是一種帶有Navigation Controller的標籤欄應用程序。有一個TabBarController作爲根,有ViewController s位於TabBarController下,其中一個ViewControllers是一個導航控制器。但是我沒有在導航控制器中看到這個錯誤。我不確定這是否會導致任何錯誤。

我這裏使用方式:

- (IBAction)filterResult:(id)sender { 
    [ActionSheetStringPicker showPickerWithTitle:@"Pick Filter" rows:self.filterList initialSelection: self.selectedIndexes target:self successAction:@selector(animalWasSelected:element:) cancelAction:nil origin: self]; 
} 


- (void)animalWasSelected:(NSNumber *)selectedIndex element:(id)element { 
    self.selectedIndexes = [selectedIndex intValue]; 
    NSLog(@"Selected"); 
} 

是的,這就是全部。我已經包括ActionSheetPicker.h文件,正如我所說的選擇器工作正常。

最後這裏是錯誤:

[MYYViewController successAction:]: unrecognized selector sent to instance 0x9032400 
2012-12-24 12:14:45.488 Example[54268:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MYYViewController successAction:]: unrecognized selector sent to instance 0x9032400' 

任何幫助將是巨大的。

+0

請添加動作表創建代碼 –

+0

沒有更多的動作表的創建代碼,我已經檢查示例應用程序,並添加像這樣。正如我所說的,選擇器運行良好,按我的意願上市。 –

回答

2

看起來挺直接的,你需要在你的MYYViewController類中實現successAction:,因爲選擇器沒有檢查它是否會響應並直接調用它。

+0

謝謝,但我認爲這是錯誤的。因爲'ActionAction:'已經在'ActionSheetStringPicker.h'文件中實現。爲什麼我會再次實施?即使我這樣做,你能澄清一下,我會在那個函數中寫什麼? –

+0

檢查編輯過的文章 – Ismael

+0

@NewbieiOSDeveloper方法沒有在頭文件中實現,它們被聲明。你必須在.m文件中實現它們。標題不包含實際的代碼,只是提示編譯器。 – 2012-12-26 13:41:37

相關問題