2011-07-14 47 views
3

我完全卡住了UIPickerView。我不斷收到錯誤:與UIPickerView故障

GDB:收到信號:「SIGABRT」。

2011-07-14 13:35:19.132 MeldStad [677:207] *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因: ' - [UIView的numberOfComponentsInPickerView:]:無法識別的選擇發送到實例0xaac34c0'

我已經閱讀了一些在互聯網上的解決方案,但他們都沒有爲我工作.. 我也嘗試了超過1個PickerView教程。不知道該怎麼做才知道。

這裏的選擇器方法的源:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    return [pickerData count]; 
} 

- (NSString *)pickerView: 
(UIPickerView *)pickerView titleForRow: 
(NSInteger)row forComponent:(NSInteger)component 
{ 
    return [pickerData objectAtIndex:row]; 
} 
+0

您是如何設置委託以及您在哪裏添加這些方法的? –

+0

好吧,我認爲現在的關係很好。我按照本教程進行連接(步驟6)。 http://www.roseindia.net/tutorial/iphone/examples/UIPickerView/UIPickerViewExample.html錯誤消失了,但是當我嘗試通過單擊按鈕檢索選定項目時,我沒有收到任何迴應。 NSInteger row = [singlePicker selectedRowInComponent:0]; \t NSString * selected = [pickerData objectAtIndex:row]; \t NSLog(@「test:」,selected); – Th3noon

+0

'singlePicker'必須爲'nil',即IB中沒有連接。檢查一下。 –

回答

7

的錯誤是說你設置在IB的UIView的,你沒有UIPickerDelegate方法您UIPicker委託

@interface YourViewController : UIViewController <UIPickerViewDelegate> 

或者您將代表分配給錯誤的文件。檢查IB連接設置。您的數據源和委託應設置爲FilesOwner

+0

好吧,我認爲現在的連接是好的。我遵循本教程進行連接(步驟6)。http://www.roseindia.net/tutorial/iphone/examples/UIPickerView/UIPickerViewExample.html錯誤消失了,但是當我嘗試通過單擊按鈕,我什麼都沒有回來。 NSInteger row = [singlePicker selectedRowInComponent:0]; NSString * selected = [pickerData objectAtIndex:row]; NSLog(@「test:」,selected); – Th3noon

+0

哦,我修好了,thnx :) – Th3noon