protocol 总结:
非正式协议:给NSObject或其子类增加类别
协议
1.概念:一堆方法的声明,一般写到一个.h头文件中, 而没必要全部实现,分为 必须实现和选择实现.
2.定义协议:
@protocol 协议名称 <NSObject>
//方法声明列表
@end
3.遵守协议:就相当于拥有了这个协议中所有的声明
1)类遵守协议:就必须实现协议中规定必须实现
@interface 类名 : NSObject<协议名称1,协议名称2>
@end
2)协议遵守协议:
@protocol 协议名称 <NSObject,其他协议名称1,其他协议名称2>
@end
4.
@required:协议中必须实现的方法
@optional:不一定要实现的方法
5.protocol 类型限制
1)id<协议名> obj :给id类型增加类型限制
2)类名<协议名> obj :必须是该类的对象 且需遵守该协议
5.protocol代理设计模式
1)概念:传入的对象代替当前对象完成了某个功能
2)应用场合:监听器的场合 通知的场合 有些事情不想自己处理,交给别人处理
非正式协议:给NSObject或其子类增加类别
协议
1.概念:一堆方法的声明,一般写到一个.h头文件中, 而没必要全部实现,分为 必须实现和选择实现.
2.定义协议:
@protocol 协议名称 <NSObject>
//方法声明列表
@end
3.遵守协议:就相当于拥有了这个协议中所有的声明
1)类遵守协议:就必须实现协议中规定必须实现
@interface 类名 : NSObject<协议名称1,协议名称2>
@end
2)协议遵守协议:
@protocol 协议名称 <NSObject,其他协议名称1,其他协议名称2>
@end
4.
@required:协议中必须实现的方法
@optional:不一定要实现的方法
5.protocol 类型限制
1)id<协议名> obj :给id类型增加类型限制
2)类名<协议名> obj :必须是该类的对象 且需遵守该协议
5.protocol代理设计模式
1)概念:传入的对象代替当前对象完成了某个功能
2)应用场合:监听器的场合 通知的场合 有些事情不想自己处理,交给别人处理