2 mrsseven7 MrsSeven7 于 2012.10.11 16:28 提问

有关ios的viewController问题

正在开发navigationController 应用。在viewController里,分别有vcA和vcB。

[self presentModalViewController:vcB animated:YES];

当vcB加载完成,能不能在vcA中获取到?

我知道有一种方法,通过定义vcB的子类实现,但是我想要IOS里面自带的实现方法或属性。

2个回答

Chengzi_963
Chengzi_963   2012.10.15 10:32
已采纳

我建议使用blocks

如果只需要一个回调。
首先,在第二个viewController里面加入block属性。

@property (nonatomic, strong) void (^onCompletion)(void);

然后创建第二个viewcontroller的时候,在第一个viewcontroller里面填上:

    - (void)showSecondViewController;
    {
    SecondViewController *viewController= [[SecondViewController alloc] init];  viewController.onCompletion= ^{  
 [self dismissViewControllerAnimated:YES completion:nil];
  };
   [ self presentViewController:viewController       
          animated:YES       
        completion:nil];
}

最后,在第二个viewcontroller里面加上:

- (IBAction)doneTapped;
{
 if (self.onCompletion) { 
   self.onCompletion();
 }
}

如果还要返回值,修改block。

u013243469
u013243469   2014.11.21 13:42

把vcA和vcB设置为viewController的成员属性

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!