定义一个变量的时候,可以限制这个变量保存的对象遵循某个协议。如:@protocol MyProtocol <NSObject>
- (void)hehe;
@end
@interface Person : NSObject
@property (nonatomic, assign) int age;
@end
//定义对象obj,并限制其遵循MyProtocol协议
NSObject<MyProtocol> *obj = [[Person alloc] init];
说明:如果Person类不遵循MyProtocol协议,“=”右边会警告
我的疑问就是,既然Person已经遵循了MyProtocol协议,而obj又是Person的对象,那obj就能调用MyProtocol协议里声明的方法。限制obj遵循MyProtocol协议就是为了使obj可以调用协议里声明的方法,那这个限制是不是有点多余呢,有什么意义呢?
|
|