0
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:

(NSInteger)component {

if(thePickerView == self.countryPicker){

        self.countryLbl.text = [self.responseArray objectAtIndex:row];

       }
}

- (IBAction)countryDoneBtn:(id)sender {

    // Picker first row selected on done button

   [self.countryLbl setText:[NSString stringWithFormat:@"%@", [self.responseArray 

objectAtIndex:[self.countryPicker selectedRowInComponent:0]]]];

    [self myViewDown:self.countryView];

    [self.durationView removeFromSuperview];

    //[post selectState:[self.responseArray objectAtIndex:row ]];
}

我想做这个“ [post selectState:[self.responseArray objectAtIndex:row]];

objectAtIndex:row但在此“ ”中无法访问“ - (IBAction)countryDoneBtn:(id)sender

方法。

请朋友帮助我如何从这个 IBAction 访问该行

在此先感谢您需要您的帮助我是 iphone 开发的新手

4

1 回答 1

0

row变量不可用,因为您要查找的行在选取器视图的委托方法 didSelectRow:inComponent 中传递。

根据您的尝试,您仍然可以使用 selectedRowInComponent 方法获取选择器的选定行,您已经使用该方法设置countryLbl 的文本。

因此,只需使用相同的方法从您的 responseArray 中获取对象:

NSInteger selectedRow = [self.countryPicker selectedRowInComponent:0];
[post selectState:[self.responseArray objectAtIndex:selectedRow]];
于 2013-06-01T13:36:37.523 回答