陈斌彬的技术博客

Stay foolish,stay hungry

Objective-C 协议的必选与可选方法

在 Objective-C 2.0 中增加了如下两个指令,如下所示:

@protocol MyProtocol
@required -(void) requiredMethod; 
@optional- (void) optionalMethod; 
@end 

协议中的方法声明前使用 @required 的表示这个方法必须实现,否则将会得到编译器的警告,而 @optional 为可选实现,为默认值。

问题:@optional 是什么意思?

@optional 预编译指令:表示可以选择实现的方法

@required 预编译指令:表示必须强制实现的方法