一、protocol的基本使用
1>新建一个Objective-C File,FileType选择Protocol
2>在新建的protocol中声明几个方法,这里有几个关键字需要注意
* @required :表示方法必须要被实现
* @optional :表示方法可以不被实现
* 默认是需要被实现
#import <Foundation/Foundation.h>
@protocol MyProtocol <NSObject>
- (void)test;
@required
- (void)test2;
- (void)test3;
@optional
- (void)test4;
@end
3>新建一个Cocoa Class,导入protocol
#import <Foundation/Foundation.h>
#import "MyProtocol.h"
// : 继承父类
// <> 遵守协议
@interface Test : NSObject <MyProtocol>
@end
4>在.m文件中实现protocol中的几个方法,必须被实现的方法若没被实现,不会报错(会有警告)
二、协议遵守协议
1> 一个协议可以遵守其他多个协议,多个协议之间用逗号“,”隔开
2> 一个协议遵守了其他协议,就相当于拥有了该协议中声明的所有方法
@protocol MyProtocol <其他协议1,其他协议2>
@end
三、限制对象遵守某个协议
1> 类名<协议名称> *变量名;
2> id<协议名称> 变量名;
四、令@property声明的一个属性遵守协议
1> @property (nonatomic, strong) 类名<协议名称> *属性名;
2> @property (nonatomic, strong) id<协议名称> *属性名;