1、类目Categary
1 语法
@interface class name (category name)
@end
2 作用:
1. 在不知道源码的情况下给现有的类扩展新方法
2. 进行代码规划,把类的实现按功能模块分为不同的文件,看名字就知道方法的功能
2、延展Extension
@interface <class name> ()
@end
3、协议Protocol
基本概念
1. 所有的协议有一基协议:NSObject协议,协议中方法的关键字也会继承
2. 一个类想拥有多种不同类型的行为,可以使用协议,OC里可以签署多个协议
语法
@protocol 协议明 <父协议名>
@end
实例对象签署协议
id <协议名字> = 实例名
类签署协议
1. 一个类要签署协议,必须先导入协议的头文件
2. 在父类名字后面用'<>'括号里面写入协议名字
3. 协议可以签署多个,并且用','隔开
判断是否签署协议、实现方法
//是否签署协议
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;
//是否实现方法
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;