2012-03-06 32 views
0

UIPickerViewから初期値を取得できません。ここUIPickerViewから値を取得

はいくつかのコードである:

....... 
#define kMaximumPlayers 15 
...... 
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
    { 
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
     if (self) 
     { 
      self.totalPlayersPossible = [NSMutableArray array]; 

      for (int x = 2; x < kMaximumPlayers; x++) 
      { 
       [_totalPlayersPossible addObject:[NSNumber numberWithInt:x]]; 
      } 
     } 
     return self; 
    } 


    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
    { 
     return [NSString stringWithFormat:@"%@", [self.totalPlayersPossible objectAtIndex:row]]; 


    - (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     [self.pickverView selectRow:0 inComponent:0 animated:YES]; 
    } 
} 

IはUIPickerViewのアプリ最初の行が選択され実行した場合。問題は、私はその行の価値を得ることができないということです:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
    { 
//here I get the value of selected row 

     [self setNumberOfSelectedPlayers:[[self.totalPlayersPossible objectAtIndex:row]intValue]]; 
    } 

The value of setNumberOfSelectedPlayers is 0. 

私はここで何が欠けていますか?

+1

選択した行の値はどこにありますか? – vipinagg

+0

私はどこで価値を得るのですか? – OhDoh

+0

選択した行の値を「取得」しているコードは表示されません。 – vipinagg

答えて

1

問題は、あなたがそれを選択しなかったので、あなたがUIPickerView方法

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

ていることがわかり初めて呼び出されません。ですこのメソッドは、行を効果的に選択するときにのみ呼び出されます(スクロールしてその中の1つを選択します)。

didSelectRow:メッセージが負荷に呼び出されない、Novargが言うように、それは

3

に役立ちます願っています。ただし、いつでも現在選択されている項目のタイトルを取得するには、pickerView: titleForRow: inComponentメッセージを直接呼び出すことができます。あなたがしたいタイトルを仮定すると、ピッカービューの最初の「リール」(コンポーネント)である:

NSString *initialTitle = [self pickerView:self.pickerView 
           titleForRow:[self pickerView selectedRowInComponent:0] 
          forComponent:0 
]; 

これは、自己はもちろん、pickerViewためUIPickerViewDelegateとして機能を前提としています。

関連する問題