如何在dismissViewControllerAnimated完成块后立即执行方法?

时间:2016-05-25 14:20:03

标签: ios objective-c iphone

我有一个名为CommentEditorViewController的视图控制器以模态方式呈现,以下是解雇它的代码:

- (IBAction)doneButtonTouched:(id)sender
{
    NSLog(@"doneButtonTouched");
    [self dismissViewControllerAnimated:YES completion:^{
        [[ImageStore sharedStore] setComment: self.textView.text forImageWithIndex:self.imageIndex];
    }];
}

它完全正常,但问题是在此块之前正在执行父视图控制器(称为PhotosViewControllerviewWillAppearviewDidAppear方法。我无法弄清楚,如何在块完成后立即执行代码。我应该在街区做所有这些事吗?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:3)

您必须在 dismissViewControllerAnimated:completion:行之前移动该代码,因为在完成块中编写的代码将在视图控制器被真正消除时执行,这可能在 viewDidAppear <之后父视图控制器的/ em>。