与UIPickerView故障
我完全卡住了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];
}
的错误是说你设置在IB的UIView的,你没有UIPickerDelegate方法您UIPicker委托
@interface YourViewController : UIViewController <UIPickerViewDelegate>
或者您将代表分配给错误的文件。检查IB连接设置。您的数据源和委托应设置为FilesOwner
好吧,我认为现在的连接是好的。我遵循本教程进行连接(步骤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
哦,我修好了,thnx :) – Th3noon
您是如何设置委托以及您在哪里添加这些方法的? –
好吧,我认为现在的关系很好。我按照本教程进行连接(步骤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
'singlePicker'必须为'nil',即IB中没有连接。检查一下。 –