ios - 在关闭 View 之前调用委托(delegate)方法

标签 ios iphone objective-c delegates modalviewcontroller

我有一个模态视图 Controller ,就在我关闭它之前,我需要调用一个委托(delegate)方法来告诉父 View Controller 进行更新。 (因为在关闭模态视图 Controller 时不会调用像 viewWillAppear 这样的方法)。

所以我的代码是这样的:

[delegate addEquipmentDidSave:YES];
[self dismissViewControllerAnimated:YES completion:nil];

很简单。回消息说,现在更新!然后就忽略这个观点。但是,虽然调用了这两行,但委托(delegate)方法从未运行。所以我检查它是否正确设置了委托(delegate)。当我呈现模态视图时,我设置了委托(delegate),因此它全部连接。

就好像委托(delegate)方法在 View 被关闭之前没有机会运行一样。这可能吗?您认为可能是什么问题?

谢谢。

最佳答案

在调用你的委托(delegate)方法之前首先检查它是否可用

if ([self.delegate respondsToSelector:@selector(addEquipmentDidSave:)] )
{
    NSLog("Yes it's available");
    [self.delegate addEquipmentDidSave:YES];
}

[self dismissViewControllerAnimated:YES completion:nil];

关于ios - 在关闭 View 之前调用委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115222/

相关文章:

iOS View 导航最佳实践

iphone - 核心数据 NSFetchRequest 也获取 Entity 的子对象

iphone - 我可以要求用户启用推送通知吗?

ios - 尝试保存数组时 CoreData 出错。 'Cannot convert value of type ' String' 到预期参数类型 'NSManagedObject' '

ios - 如果日期更改则执行操作

iphone - UITableView 的 didSelectRowAtIndexPath 仅每隔一段时间调用一次

ios - 如何禁用 ios 7 中的界面方向更改

ios - 你如何在 iOS 上的图像中找到特定颜色的区域?

ios - 无法阻止 Sprite 移出屏幕

iphone - 在 NIAttributedLabel 中设置链接属性