ios中代理传值的过程&&OC中代理传值

总之代理传值是使用协议来传递值。我在代码中分析到,代理传值可以分为正向传值和反向传值(个人理解)。所谓反向传值也就是开进入主界面中label没有值,进入VCB中你会输入值之后返回主界面中就会看到在VCB中写的值。反向传值则相反,是由主控制器设置值的。

1.反向传值,先看界面设置。

ios中代理传值的过程&&OC中代理传值
可以看到VCA中label没有值。之后点击按钮跳转到VCB中,在文本框写入值。
ios中代理传值的过程&&OC中代理传值
返回VCA中可以看到由VCB中设置的值。
ios中代理传值的过程&&OC中代理传值

下来再看源码:
VCB的源码:
ios中代理传值的过程&&OC中代理传值
ios中代理传值的过程&&OC中代理传值
VCA的源码:
ios中代理传值的过程&&OC中代理传值

2.反向传值。

界面不能看出效果,直接上源码。
主界面代码:
ios中代理传值的过程&&OC中代理传值
注意看上面返回值类型,不是void。
再来看看从文件利用返回值进行计算:
ios中代理传值的过程&&OC中代理传值
ios中代理传值的过程&&OC中代理传值

OC中代理传值

需求:我要写一个博客,但是我这个博客交给****来写并且注明****为谁写博客。
总共两个类,一个协议。“我”类中声明协议并且声明一个id类型的代理属性。“****”实现这个协议,并且将协议中的参数值打印在控制台上。

"我"类:
ios中代理传值的过程&&OC中代理传值
ios中代理传值的过程&&OC中代理传值
“****”博客类:
ios中代理传值的过程&&OC中代理传值
ios中代理传值的过程&&OC中代理传值
ios中代理传值的过程&&OC中代理传值