0

最初のView Controllerにピッカービューがあります。

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent(NSInteger)component{
 switch(row){
  case 1:
   isOne = true;
   break;
  case 2:
   isTwo = true;
   break;
  case 3:
   isThree = true;
   break;
 }
}

2 番目のビュー コントローラーでこのブール値を読み取りたいと考えています。どうすればいいですか?

前もって感謝します

4

1 に答える 1

0

最後に、私は答えを見つけました:

  1. 最初のView Controllerで変数文字列をretainとして定義するだけです

    @property (非アトミック、保持) NSString *aString;

  2. 実装ファイル セット:

    @synthesize aString;

  3. ピッカー ビュー メソッドで:

    -(void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger)row  inComponent:(NSInteger)component { 
           switch (row) {
                   case 0:
                      self.aString = [NSString stringWithString:@"One"];
                      break;
                      .....
    }
    

2番目のView Controllerで1と2を実行します。2 番目のコントローラーに切り替える場合は、ピッカー ビューから選択した値を設定します。

SecondViewController * secController = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
secController.modalTransitionStyle = UIModalTransitionStyle;
[secController setAString:self.aString];
[self presentModalViewController:secController animated:YES];

これが最善の解決策かどうかはわかりませんが、今のところうまくいきます。

于 2012-09-25T15:54:58.110 に答える