我有叫CommentEditorViewController
模态呈现,这里是驳回它的代码视图控制器:如何在dismissViewControllerAnimated完成块后立即执行方法?
- (IBAction)doneButtonTouched:(id)sender
{
NSLog(@"doneButtonTouched");
[self dismissViewControllerAnimated:YES completion:^{
[[ImageStore sharedStore] setComment: self.textView.text forImageWithIndex:self.imageIndex];
}];
}
它的工作原理完全没问题,但问题是,父视图控制器(这被称为PhotosViewController
)viewWillAppear
和viewDidAppear
方法正在此块之前执行。我无法弄清楚,如何在此块完成后立即执行代码。我应该在街区做所有这些吗?如果是这样,我该怎么做?
如果您希望该代码与dismissViewCOntroller一起执行,请将该代码放在行dismissViewControllerAnimated之前。如果你使用完成块,你的代码只会在子VC完全解除时才会执行。当然,有一个获取父视图的机会,将会调用完成模块,因为完成模块是异步的,它不能保证它将连续运行! –