2013-05-25 38 views
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:indexpath.row xcode?

,但不能訪問 「objectAtIndex:row」 在本協議 「- (IBAction)countryDoneBtn:(id)sender

方法。

請朋友幫我,我怎麼可以從這個IBAction爲訪問該行提前

由於需要你們的幫助我在iPhone開發新

+0

採取一個全局變量,並設置選擇器選擇行的值,並使用該變量。 – Balu

+0

@Sunny非常感謝你 –

+0

爲什麼不使用[self.countryPicker selectedRowInComponent:0]而不是行? –

回答

0

變量不可用,因爲行您正在尋找的只是在委託方法didSelectRow中傳入:inComponent的選取器視圖。

根據您正在嘗試的操作,仍然可以使用方法selectedRowInComponent獲取選擇器的選定行,您已經使用該方法設置countryLbl的文本。

所以,僅僅用同樣的方法從您的responseArray獲得對象:

NSInteger selectedRow = [self.countryPicker selectedRowInComponent:0]; 
[post selectState:[self.responseArray objectAtIndex:selectedRow]];