UIPickerView 的问题
Posted
技术标签:
【中文标题】UIPickerView 的问题【英文标题】:Trouble with UIPickerView 【发布时间】:2011-07-14 11:59:15 【问题描述】:我完全被 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];
【问题讨论】:
你是如何设置委托的,你在哪里添加了这些方法? 好的,我认为现在连接很好。我按照本教程进行连接(步骤 6)。 roseindia.net/tutorial/iphone/examples/UIPickerView/… 错误消失了,但是当我尝试通过单击按钮来检索所选项目时,我什么也得不到。 NSInteger 行 = [singlePicker selectedRowInComponent:0]; NSString *selected = [pickerData objectAtIndex:row]; NSLog(@"test:", selected);singlePicker
必须是 nil
即未在 IB 中连接。检查一下。
非常感谢您的帮助,现在可以使用了 :)
【参考方案1】:
错误是说您在 IB 中将 UIPicker 委托设置到没有 UIPickerDelegate 方法的 UIView
@interface YourViewController : UIViewController <UIPickerViewDelegate>
或者您将代表分配到了错误的文件。检查 IB 连接设置。您的数据源和委托应设置为 FilesOwner
【讨论】:
好的,我认为现在连接很好。我按照本教程进行连接(第 6 步)。roseindia.net/tutorial/iphone/examples/UIPickerView/… 错误消失了,但是当我尝试通过单击按钮检索所选项目时,我没有得到任何回复。 NSInteger 行 = [singlePicker selectedRowInComponent:0]; NSString *selected = [pickerData objectAtIndex:row]; NSLog(@"test:", selected);以上是关于UIPickerView 的问题的主要内容,如果未能解决你的问题,请参考以下文章