我使用下面的代码来获取带有两个组件的UIPickerView视图的行索引。 但是有两个警告说“UIPickerView的本地声明隐藏了实例变量。任何人都请帮助。
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
int pos1 = [pickerView selectedRowInComponent:0];
NSLog(@"Row1: %i ",pos1);
int pos2 = [pickerView selectedRowInComponent:1];
NSLog(@"Row2: %i ",pos2);
}
答案 0 :(得分:1)
您可能使用“pickerView”作为ivar的名称,并使用“pickerView”作为输入参数之一的名称。这些冲突和编译器警告您本地的(即委托方法的输入参数)优先。要删除此警告,请更改ivar的名称或委托方法中的参数名称。例如,
- (void)pickerView:(UIPickerView *)pv didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
int pos1 = [pv selectedRowInComponent:0]; NSLog(@"Row1: %i ",pos1);
int pos2 = [pv selectedRowInComponent:1]; NSLog(@"Row2: %i ",pos2);