protocol的基本使用与代理设计模式的应用
来源:互联网 发布:数据库阻塞和死锁区别 编辑:程序博客网 时间:2024/05/17 02:56
protocol的基本使用
1,格式:
@protocol 协议名称 <NSObject>
协议内容
@end
2,协议的使用,
@interface 类名 : 父类名 <协议名,协议名2>
@end
然后再.m方法中实现协议里声明的方法,当遵守多个协议时,多个协议以逗号隔开.
3,使用注意.
1,protocol就是用来声明方法,不能声明成员变量,也不能实现方法.
2,只要某个类遵守了这个协议,那么就拥有了这个协议的所有方法声明.
3,只要父类遵守了这个协议,那么子类也遵守了.
4,Protocol里的方法可以让任何类去实现,Protocol只是声明.
5,OC不能继承多个类,但是可以遵守多个协议.
6,<NSObject>是基协议,是最基本最根本的协议,其中声明了很多基本的方法.
7,协议可以遵守协议,当一个协议遵守了另一个协议,就可以拥有另一个协议中的方法声明.
4,Protocol中的关键字
@required和@optional是Protocol中的两个关键字.
@required修饰的方法声明是必须实现的,这个关键字也是默认的.
@optional修饰的方法声明可以不用实现.
5,Protocol的类型限制
1,给id类型的限制
使用id存储对象时,给对象类型的限制: id<协议A> 变量名; 例: 就是需要给变量baomu传一个遵守协议<zhaogubabyProtocol>的对象.
2,给对象的限制
当对象类型遵守协议时,可以赋值的对象既要是同一个类型,又要遵守协议.
3,关联关系下,对象的类型的限制问题.
当一个类的对象是另一个类的成员变量时,需要遵守协议才能赋值.
6,Protocol的代理设计模式
1,代理模式的概念:传入的对象,代替当前类完成某个功能,称为代理.
利用协议实现代理模式的主要思路为:
1)定义一个协议,里面声明代理类需要实现的方法列表.
2)创建一个代理类,遵守上面的代理协议.
3)在需要代理的类中,定义一个对象类型为id且遵守代理协议的成员变量.
4)在需要代理的类中调用成员变量_delegate(代理)的方法,调用代理类的方法.
5)main.m或其他使用需要代理的类的文件中,为需要代理的类的成员变量(代理类)赋值.
- protocol的基本使用与代理设计模式的应用
- 黑马程序员——protocol的基本使用和代理设计模式
- protocol代理设计模式
- 学习笔记:OC的protocol协议及代理设计模式
- 设计模式之观察者与动态代理的结合应用
- protocol 的基本使用
- 107,Protocol在代理设计模式中应用
- 接口的实际应用--代理设计模式
- 协议的应用—代理设计模式
- java中代理设计模式与工厂类设计模式的综合应用
- OC---protocol代理设计模式
- protocol 代理设计模式引入
- protocol 代理设计模式概念
- 设计模式-代理模式与适配器模式实现代码重用以及策略模式的使用
- Google Protocol Buffer的基本配置与使用
- OC视频笔记5.4(协议的定义与使用)(代理设计模式)(代理设计模式思想)
- 装饰设计模式与代理设计模式的异同
- 设计模式原来如此-代理模式的实际应用
- CodeForces 548B
- hdu 1698 Just a Hook
- Course Schedule
- 大端 与 小端
- warning: templates not found /usr/local/git/share/git-core/templates
- protocol的基本使用与代理设计模式的应用
- (二) 如何判断链表中有无环
- 缓存图片
- 阶乘的整数分解 fzu1753
- hdu 4825 Xor Sum(字典树)
- 枚举暴力 cf B. Preparing Olympiad
- JavaScript 时间与日期
- 中文文案排版指北
- CentOS下安装使用phpMyAdmin. Set up phpMyAdmin on CentOS