菜鸟成长记-代理使用场景
来源:互联网 发布:我国域名总数2016年6月 编辑:程序博客网 时间:2024/04/30 22:44
代理模式运用场景: 当有一个A类想要实现某一个功能时,自己本身实现不了(或不想实现),但是B类却能实现这个功能, 这个时候A就需要一个代理类(就是B类),利用B类来帮自己实现。代理是通过协议体现的
步骤: 1:(谁想实现某功能就在谁的里面写一个协议)首先在A类的头文件中写一个协议(@protocol)并声明一个方法(或多个方法),该方法就是实现某一个功能方法
2: A类中写一个代理属性 (id <协议名称>delegate)
3: 在A类的实现文件中调用delegate属性, 并调用其协议中声明的方法(实现的是B类中实现协议中的方法)
4:在B类中遵守协议 , 并实现协议方法(该方法就是实现了某一个功能)
直接上图说明吧,
1:这里RXFootView充当A类 首先在A类中写好协议及方法、id属性
2: 在A类实现文件中调用协议中的方法,其实主要作用就是传值
3:在B类中指定代理并实现协议中的方法即可,,就三步你就可以使用代理了,
总结:一般项目中代理是常用的传值方法,但是它不能对多个对象传值,它是one-one,如果有这种需求就可以使用通知了,通知使用起来也是非常方便的,一般运用场景就是弹出一个下拉列表进行城市选择之类的业务。
1 0
- 菜鸟成长记-代理使用场景
- 菜鸟成长记-UICollectionView使用
- 菜鸟成长记-UIPickerView使用
- 菜鸟成长记-MMDrawerController使用
- 菜鸟成长记-MFMessageComposeViewController的使用
- 菜鸟成长记-NSDate、NSDateComponents使用
- 菜鸟成长记
- 菜鸟程絮媛成长记
- 菜鸟成长记
- 菜鸟成长记
- 菜鸟成长记-UIScrollView
- 菜鸟成长记-UITableView
- 小菜鸟成长记
- 【菜鸟站长成长记】CuteFTP9 初步使用心得
- 菜鸟成长记-UILabel使用、横线划掉价格
- iOS代理-成长记
- 菜鸟成长记(2)
- 菜鸟成长记(三)
- 获取字的高度和宽度
- struct 字节对齐详解与大小端模式
- GCC 编译详解
- 网易2016研发工程师编程题
- [Java代码] [Leetcode] Maximum and Minimum Depth of Binary Tree 二叉树的最小最大深度
- 菜鸟成长记-代理使用场景
- Java中使用Jedis操作Redis
- CentOS SELinux
- wireshark常用的过滤命令(协议分析利器,你值得拥有。)
- Python学习笔记--装饰器
- Andrew Ng机器学习笔记+Weka相关算法实现(三)神经网络和参数含义
- Python:鼠标滑动时坐标变化显示
- java工程师最新面试题(java语言基础)
- ViewPager无限循环+底部小圆点动态滑动