Ios 从第二个选择器列中选择值
我正在使用一个uipicker应用程序,其中我有两列选定的数据,使用此代码,我可以在选择器只有一行时从中选择值Ios 从第二个选择器列中选择值,ios,uipickerview,uipickerviewcontroller,uipickerviewdatasource,Ios,Uipickerview,Uipickerviewcontroller,Uipickerviewdatasource,我正在使用一个uipicker应用程序,其中我有两列选定的数据,使用此代码,我可以在选择器只有一行时从中选择值 - (void)viewDidLoad { [super viewDidLoad]; _pickerData = @[@"item1", @"item2", @"Item 4", @"Item 5", @"Item 6"]; self.picker.dataSource = self; self.picker.delegate = self; } - (vo
- (void)viewDidLoad
{
[super viewDidLoad];
_pickerData = @[@"item1", @"item2", @"Item 4", @"Item 5", @"Item 6"];
self.picker.dataSource = self;
self.picker.delegate = self;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
}
// The number of columns of data
- (int)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
// return 2;
}
// The number of rows of data
- (int)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _pickerData.count;
}
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _pickerData[row];
// return _pickerData[row][component];
}
- (IBAction)selOptions:(id)sender {
NSInteger row = [self.picker selectedRowInComponent:0];
NSString *selected = [_pickerData objectAtIndex:row];
NSLog(selected);
}
@end
有了这段代码,当我点击我的按钮时,我已经选择了whatwas的值,然后我可以继续按我的segue或我喜欢的任何东西
但是,我希望mypicker有两行,但是下面发布了代码…我无法在单击按钮时获得错误
- (void)viewDidLoad
{
[super viewDidLoad];
_pickerData = @[ @[@"item1", @"A"],
@[@"item2", @"B"],
@[@"item3", @"C"],
@[@"item4", @"D"],
@[@"item5",@"E"],
@[@"item6",@"F"]
];
// Connect data
self.picker.dataSource = self;
self.picker.delegate = self;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// The number of columns of data
- (int)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
// return 1;
return 2;
}
// The number of rows of data
- (int)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _pickerData.count;
}
// The data to return for the row and component (column) that's being passed in
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _pickerData[row][component];
}
- (IBAction)selOptions:(id)sender {
NSInteger row = [self.picker selectedRowInComponent:0];
NSString *selected = [_pickerData objectAtIndex:row];
NSLog(selected);
NSInteger row2=[self.picker selectedRowInComponent:1];
NSString *selectedb=[_pickerData objectAtIndex:row2];
NSLog(selectedb);
}
@end
数据显示良好,但我不知道如何允许在单击“我的”按钮时选择两行中的值。
在此方面的任何帮助都将不胜感激
谢谢[self.picker selectedRowUncomponent:0];和[self.picker SelectedRowUncomponent:1]@iPhone我将更新添加到我的原始问题中。但是我仍然收到错误。未识别的选择器发送到instanceI我猜错误是因为NSLogselected;和NSLogselectedb;请将此更改为NSLog@%@,已选择;和NSLog@%@,选择b;哦@iphone我通常会收到这些警告,但忽略它们,因为它们以前从未给过我错误。谢谢,问题解决了it@iphonic如果[selectedb isEqualToString:@Test]{NSLog@Test}是否应使程序崩溃,并说NSarrayI isEqualToString未识别的选择器已发送到实例?原因据我所知,如果im错误,请纠正我选择的不再是字符串,而是保存了数组中的单个值