一篇文章 学会 iOS中的 代理(delegate) 设计模式
生活随笔
收集整理的这篇文章主要介绍了
一篇文章 学会 iOS中的 代理(delegate) 设计模式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
代理设计模式,真是挺耐人寻味的,感觉很让人捉摸不透又感觉很有趣的东西!因为原本捉摸不透的代码,方法,披上代理的外衣后,就很有道理,很有意思了!
各种设计模式,让本来很死板的代码变得灵活多变,各种功能可以在大大简化代码的情况下实现。大大方便了编程工作。
来一个简单的代理实现案例:
这个代理运用的地方是在一个UI界面中(类似新浪手机客户端的界面),点击自定义tabBar中自定按钮,以达到切换窗口控制器的目的。
1.首先要是要明确谁要做谁的代理,对象A如果是对象B的代理,谁是对象A,谁是对象B。
这里,我们是让控制器作为自定义tabBar的代理。
代理中,需要记住的关键是在发出代理请求的类(A)中声明代理人(B)的实例变量,这样就可以保证A 能通过调用B中B代理的方法来完成B代理的事情,即自己代理给B 的事情。
废话不多说,直接上代码:
//这里tabBar发出代理请求,并且声明代理的实例变量(delegate)。
//通知代理,按钮被点击,如果代理(控制器)实现了代理方法,tabBar就可以调用代理(控制器)中的代理方法来完成控制器代理的事情,即tabBar代理给控制器的事情。
代理模式的关键点:
A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议(protocol),B继承该协议来完成A代理给他的事情。 控制器继承了代理协议,实现代理方法。转载于:https://www.cnblogs.com/pugon/p/3730462.html
总结
以上是生活随笔为你收集整理的一篇文章 学会 iOS中的 代理(delegate) 设计模式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 新旧资源库访问地址
- 下一篇: ASP.NET 设计模式中依赖倒置原则