【发布时间】:2014-01-14 13:51:32
【问题描述】:
我有一个模态视图控制器,在我关闭它之前,我需要调用一个委托方法来告诉父视图控制器更新。 (因为在关闭模态视图控制器时不会调用像 viewWillAppear 这样的方法)。
所以我的代码如下所示:
[delegate addEquipmentDidSave:YES];
[self dismissViewControllerAnimated:YES completion:nil];
非常简单。回个消息说,马上更新!然后只是关闭视图。然而,虽然这两行都被调用,但委托方法永远不会运行。所以我检查它设置的委托是否正确。当我呈现模态视图时,我设置了委托,因此它全部连接。
就好像委托方法在视图被关闭之前没有机会运行一样。这可能吗?您认为可能是什么问题?
谢谢。
【问题讨论】:
-
你在运行代码时检查了委托设置了吗?
-
如果委托相关的事情没问题,只需尝试关闭委托方法内的视图。?
-
@C_X 为什么?什么时候已经有可以在dismissal方法中使用的完成块了?
-
@Abizern 完成块将在视图关闭后运行,并且 josh 希望它应该首先更新视图然后关闭其他模式视图。这就是为什么我说要测试其他一切是否正常。
-
没有看到
addEquipmentDidSave的正文就不能准确地说,但我认为它没有更新,因为它在模态视图控制器的后台。
标签: ios iphone objective-c delegates modalviewcontroller