我有一个在编辑后交换数据的协议(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/