我再前两篇的博客中,总结了属性和回调方法的反向传值方法,但是,作为高级程序员,我们追求写出高内聚低耦合的代码。
这样不仅迭代的时候好修改,并且在有错误发生的时候,可以改动的比较小。而代理作为反向传值的手段,可以很好的解耦和,因为当A和B界面进行反向传值的时候,要在B中创建A控制器的属性,如果此时,有C和D界面也需要用B界面进行反向传值的时候,此时就要在B中写A,C,D的属性,只要有一个类要改动,B类也要进行改动。
而代理则不用,B界面声名一个id的指针,用于指向某一个用来反向传值的控制器,一劳永逸。下面我上代码。需求和之前一样,为了不让读者麻烦,我再写一遍需求:在AFYController中有一个Label,点击空白处推出BFYController界面,BFYController中有一个TextField,点击空白处返回AFYController,并将文本框中的text反向传值给AFYController,显示在AFYController的Label上。
1.在BFYController.h中,写一个协议,声明一个方法
2.BFYController.h中,声明一个属性用于管理代理对象
iOS 工作之余小总结之(六)(3) --四种界面反向传值的方式:委托代理传值
最新推荐文章于 2023-10-20 00:25:56 发布