类的扩展
//继承 类目 延展 协议
1.类目 Category
命名 : @interface 要扩展的类名 (类目名) ~~ @end
特点 : 1.不可定义成员变量,而且一般不定义属性
2.可以添加方法,可重写原始类的方法,原始类的对象调用
2.延展 Extension
命名 : 写在.m文件里 @interface 类名 () ~~ @end
特点 : 1.添加类的私有属性和方法;
3.协议 Protocol 协议是类与类之间的通信
命名 : @protocol 协议名 <NSObject> ~~ @end
@required 不写是默认的,必须实现 @optional 可实现可不实现
特点 : 1.只声明,不实现
2.为了解决多继承问题
3.@property (nonatomic, assign) id<协议名> delegate;
为啥用assign 为了防止循环应用释放不了