ios - 如果我有两个实现协议(protocol)的 View Controller ,我如何指定哪个是我的第三个 Controller 的委托(delegate)?

标签 ios objective-c delegates

我有一个在编辑后交换数据的协议(protocol)。 该协议(protocol)在两个不同的 View Controller 中实现。

该协议(protocol)有一个名为 taskEdited 的函数,用于设置一个值。

在从第一个推送的第三个 View Controller 中,我的头文件中有一个委托(delegate)属性:

@property (weak, nonatomic) id <taskEditProtocol> delegate;

在 .m 文件中,我按如下方式调用方法...

[self.delegate taskEdited:self.taskForEdit];

结果是该方法在第一个 View Controller 中被调用,在本例中这就是我想要的。但是如何指定哪个 Controller 是第三个 View Controller 的委托(delegate)?

最佳答案

您必须设置委托(delegate)属性。最有可能在 prepareForSegue:sender: 方法中。

您想要成为委托(delegate)的 View Controller 需要具有对第三个 View Controller 的引用(可以在 prepareForSegue:sender: 中获取该引用。然后您只需按照您的方式设置该属性即可会在任何其他对象上设置任何其他属性。

关于ios - 如果我有两个实现协议(protocol)的 View Controller ,我如何指定哪个是我的第三个 Controller 的委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970452/

相关文章:

ios - 如何将字典数组附加到另​​一个数组

iphone - 将 git commit SHA 添加到 iOS 应用程序

ios - 来自 pod 的命名颜色仅使用浅色外观而不是深色

ios - ParseCrashReporting - 崩溃报告未出现在仪表板中

ios - 没有segue的两个 View Controller 之间的快速委托(delegate)

c# - 有人可以解释这种通用语法吗?

iOS:AFNetworking 的 AFHTTPSessionManager 缓存策略

ios - 在表格 View 单元格上单击打开 URL

c#-3.0 - 需要对此代码的解释 - c#

iphone - 找不到 'AbstractPickerView' 的接口(interface)声明, 'AttackLayer' 的父类(super class)