Ios 如果我有两个实现协议的视图控制器,如何指定哪个视图控制器是第三个控制器的委托?
我有一个协议,可以在编辑数据后交换数据。 该协议在两个不同的视图控制器中实现 该协议有一个名为taskEdited的函数,用于设置值 在从第一个视图控制器推送的第三个视图控制器中,我的头文件中有一个委托属性:Ios 如果我有两个实现协议的视图控制器,如何指定哪个视图控制器是第三个控制器的委托?,ios,objective-c,delegates,Ios,Objective C,Delegates,我有一个协议,可以在编辑数据后交换数据。 该协议在两个不同的视图控制器中实现 该协议有一个名为taskEdited的函数,用于设置值 在从第一个视图控制器推送的第三个视图控制器中,我的头文件中有一个委托属性: @property (weak, nonatomic) id <taskEditProtocol> delegate; 结果是在第一个视图控制器中调用该方法,在本例中,这就是我想要的。但是如何指定哪个控制器是第三个视图控制器的代理?您需要在创建第三个控制器的实例时手动设置它。
@property (weak, nonatomic) id <taskEditProtocol> delegate;
结果是在第一个视图控制器中调用该方法,在本例中,这就是我想要的。但是如何指定哪个控制器是第三个视图控制器的代理?您需要在创建第三个控制器的实例时手动设置它。假设您从希望成为委托的控制器实例化第三个控制器,它将如下所示-
thirdController.delegate = self;
必须设置委托属性。最有可能是在
prepareforsgue:sender:
方法中
您想要成为代理的视图控制器需要有对第三个视图控制器的引用(它可以在prepareforsgue:sender:
中获得)。然后您只需设置该属性,就像在任何其他对象上设置任何其他属性一样
thirdController.delegate = self;