A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AngleMGG 中级黑马   /  2014-9-25 23:50  /  957 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一个变量的时候,可以限制这个变量保存的对象遵循某个协议。如:@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可以调用协议里声明的方法,那这个限制是不是有点多余呢,有什么意义呢?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马