在 Objective-C 2.0 中增加了如下两个指令,如下所示:
@protocol MyProtocol
@required -(void) requiredMethod;
@optional- (void) optionalMethod;
@end
协议中的方法声明前使用 @required
的表示这个方法必须实现,否则将会得到编译器的警告,而 @optional
为可选实现,为默认值。
问题:@optional 是什么意思?
@optional 预编译指令:表示可以选择实现的方法
@required 预编译指令:表示必须强制实现的方法