关情纸尾-----OC-protocol协议的基本知识
2015-07-30 13:50
211 查看
一、
1、可以用来声明一大堆方法,不能声明成员变量
2、只要某个类遵守了这个协议,就相当于拥有这个协议中所有方法声明
3、只要父类遵守了某个协议,就相当于子类也遵守了
二、格式
1、协议的编写
@protocol 协议名称
方法声明列表
@end
2、某个类遵守协议
@interface 类名:父类<协议名称>
@interface 类名:父类<协议1,协议2>
三、关键字
协议中的方法是否要实现(默认是@required),在于两个关键字
@required:必须实现,否则警告
@optional:不一定要实现
四、基协议
1、NSObjet是一个基类,任何类都要继承他
2、NSObject也是一个协议,叫做基协议
3、建议每个新的协议都要遵守NSObject协议
4、基类也遵守基协议
5、@protocol中声明的属性也可用作一个遵守协议的原则
例如:@Property (nonatomic, strong) 类名<协议> *属性名;
6、协议遵守协议
@protocol 协议名称<协议1,协议2,……>
1、可以用来声明一大堆方法,不能声明成员变量
2、只要某个类遵守了这个协议,就相当于拥有这个协议中所有方法声明
3、只要父类遵守了某个协议,就相当于子类也遵守了
二、格式
1、协议的编写
@protocol 协议名称
方法声明列表
@end
2、某个类遵守协议
@interface 类名:父类<协议名称>
@interface 类名:父类<协议1,协议2>
三、关键字
协议中的方法是否要实现(默认是@required),在于两个关键字
@required:必须实现,否则警告
@optional:不一定要实现
四、基协议
1、NSObjet是一个基类,任何类都要继承他
2、NSObject也是一个协议,叫做基协议
3、建议每个新的协议都要遵守NSObject协议
4、基类也遵守基协议
5、@protocol中声明的属性也可用作一个遵守协议的原则
例如:@Property (nonatomic, strong) 类名<协议> *属性名;
6、协议遵守协议
@protocol 协议名称<协议1,协议2,……>
相关文章推荐
- ARM9开发之学习过程总结
- 嵌套Fragment startActivityForResult解决方案
- KVO和KVC
- 从蚂蚁的觅食过程看团队研发(转载)
- 各种分布及应用场合(建模对象)
- spring,mybatis事务管理配置与@Transactional注解使用
- PAT (Advanced Level) 1082. Read Number in Chinese (25) 数字转汉字大写
- 28. JavaScript 库
- Swift教程(一)
- ROS进阶学习手记 8 -- 认识tf
- .NET默认参数的用法
- 性能分析工具gprof介绍
- 笛卡尔树 POJ ——1785 Binary Search Heap Construction
- 不错的插件,以后可以借用
- 学习认识Spring原理
- C#调用命令行返回参数方法
- [基本实验] 拖库
- IOS开发系列—Objective-C之内存管理详解
- ACM比赛中通过freopen读取测试用例
- 【剑指Offer面试题】 九度OJ1517:链表中倒数第k个结点