0

我的第一个视图控制器中有一个选择器视图。

-(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;
 }
}

我想在我的第二个视图控制器中读取这个布尔值。我该怎么做?

提前致谢

4

1 回答 1

0

最后,我找到了答案:

  1. 我只需要在我的第一个视图控制器中定义一个变量字符串作为保留

    @property (nonatomic, 保留) NSString *aString;

  2. 在实施文件集中:

    @synthesize 字符串;

  3. 在选择器视图方法中:

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

在第二个视图控制器中执行 1 和 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 回答