2011-07-14 45 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