ios中控制器之间的反向传值之二---代理传值

来源:互联网 发布:配电网优化运行 编辑:程序博客网 时间:2024/05/01 14:19

//协议代理的反向传值的实现:

假如:vc2要向vc1传入一个值,也就是所谓的反向传值。

因为vc2自己没有能力去传值,所以呢vc2需要找个可以传值的代理来帮他做这件事,所以vc2得制定一个协议(要求代理有这个能力做这件事)

1.1在vc2.h中

制定协议:@protocol   协议名称  <NSObject>

  制定协议后需要列出要做的事

协议内容:-(void)事情的名称:(传值的类型)变量名;

再制定一个代理属性:

@propery(nonatomic,…..)id<协议名称>delegate;  

2.vc1.h

因为vc1有能力做vc2的代理,所以他肯定有做事情的方法的实现

首先需要让vc1遵守vc2的协议

声明 vc2.delegate=self(也就是自己)

在vc1.m中实现这个方法,实现方法的同时也就把vc2中的值当做形参传入vc1中。

3.当vc2.m中去用他得代理去做这件事时,传入一个形参,就可以将vc2中的这个形参用他的代理就可以传到vc1中

实现:if ([self.delegaterespondsToSelector:@selector(事情的名称:(传值的类型)变量名)]) {

        [self.delegate事情的名称:传的值];

    }

0 0
原创粉丝点击