标签:多个 实现 oid retain play import 使用 之间 rip
@protocol SportProtocol <NSObject> { int _age; // 错误写法 } - (void)playFootball; - (void)playBasketball; @end
@protocol SportProtocol <NSObject> - (void)playFootball; - (void)playBasketball; @end
#import "SportProtocol.h" @interface Student : NSObject <SportProtocol> @end @interface GoodStudent : Student @end @implementation GoodStudent - (void)playFootball { NSLog(@"%s", __func__); } - (void)playBasketball { NSLog(@"%s", __func__); } @end
#import "SportProtocol.h" #import "StudyProtocol.h" @interface Student : NSObject <SportProtocol, StudyProtocol> @end
@protocol A -(void)methodA; @end @protocol B <A> -(void)methodB; @end
@interface Student : NSObject <B> -(void)methodA; // 同时拥有A/B协议中的方法声明 -(void)methodB; @end
NSObject是一个基类,最根本最基本的类,任何其他类最终都要继承它
还有名字也叫NSObject的协议,它是一个基协议,最根本最基本的协议
NSObject协议中声明很多最基本的方法
建议每个新的协议都要遵守NSObject协议
@protocol SportProtocol <NSObject> // 基协议 - (void)playFootball; - (void)playBasketball; @end
@protocol SportProtocol <NSObject> @required // 如果遵守协议的类不实现会报警告 - (void)playFootball; @optional // 如果遵守协议的类不实现不会报警告 - (void)playBasketball; @end
标签:多个 实现 oid retain play import 使用 之间 rip
原文地址:http://www.cnblogs.com/xufengyuan/p/6607891.html