协议是被许多类共享的方法的列表. 列在协议里的方法不负责实现;目的是让别人来实现.协议提供一种定义一组同特定的名称相关的方法的途径.在自己的类定义里实现它.
如果协议中定义的方法有 @optional 指令, 如:
在@otpional后面的方法都是可选的, 也就是说不一定要实现它.上例中, 采纳Drawing这个协议的类,不是非要实现outline这个方法不可,如果是@required指令的后面的方法,那是一定要实现。
如果协议中定义的方法有 @optional 指令, 如:
@protocol Drawing
-(void) paint;
-(void) erase;
@optional
-(void) outline;
@end
在@otpional后面的方法都是可选的, 也就是说不一定要实现它.上例中, 采纳Drawing这个协议的类,不是非要实现outline这个方法不可,如果是@required指令的后面的方法,那是一定要实现。