我有一个模态视图控制器,在我解除之前,我需要调用一个委托方法来告诉父视图控制器更新。 (因为在解除模态视图控制器时不会调用像viewWillAppear
这样的方法)。
所以我的代码看起来像这样:
[delegate addEquipmentDidSave:YES];
[self dismissViewControllerAnimated:YES completion:nil];
很简单。发回信息,说,立即更新!然后只是解雇视图。但是,虽然这两行都被调用,但委托方法永远不会运行。所以我检查它设置的委托是否正确。当我提出模态视图时,我设置了委托,所以它全部连接。
就好像委托方法在视图被解除之前没有机会运行一样。这可能吗?您认为可能是什么问题?
感谢。
答案 0 :(得分:3)
在调用您的委托方法之前,先检查它是否可用
if ([self.delegate respondsToSelector:@selector(addEquipmentDidSave:)] )
{
NSLog("Yes it's available");
[self.delegate addEquipmentDidSave:YES];
}
[self dismissViewControllerAnimated:YES completion:nil];
答案 1 :(得分:0)
你看到最后一个参数,一个名为completion
的参数吗?在取消视图控制器后调用该块。做你想做的事。