---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1.协议的定义
@protocol 协议名称<NSObject>
// 方法声明列表.....
@end
2.如何遵守协议
1>类遵守协议
@interface 类名 父类名 <协议名称1,协议名称2,.....>
@end
2>协议遵守协议
@protocol 协议名次 <其他协议名称1,其他协议名称2,......>
@end
3.协议中方法声明的关键字
1>@required(默认) //要求实现,怎么样不会警告
2>@optional //不要求实现,怎么不会警告
4.定义一个变量的时候,限制这个变量保存的对象遵守协议
类名<协议名称> *变量名
id <协议名称>变量名
如:
NSObject <MyProtocol> *obj
id <MyProtocol> obj2
如果没有遵守对应的协议,编译器会警告
5.@property 中的声明属性,也用做一个遵守协议的限制
@property (nonatiomic , strong) 类名 <协议名称> *属性名
@property (nonatiomic , strong) id <协议名称> *属性名
如:@property (nonatiomic , strong) Dog <MyProtocol> *dog;
@property (nonatiomic , strong) id <MyProtocol> dog2;
6.协议可用定义在单独.h文件中,可用定义某个类中
1>如果这个 协议只用在某个类中,应该把协议定义在某个类中
2>如果这个协议用在很多类中,就应该定义在单独文件中