我有叫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完全解除時纔會執行。當然,有一個獲取父視圖的機會,將會調用完成模塊,因爲完成模塊是異步的,它不能保證它將連續運行! –