1.声明协议
关键字:@protocol
eg:
@protocol NSCoping //协议名称 -(id) copyWithZone : (NSZone *) zone; @end
2. 使用协议
@interface Car : NSObject<NSCoping,NSCoding>
{
//instance variables
}
// methods
@end //Car
可以实现多个协议,NSCoding 声明省略。
Objective-C 2.0增加了两个新的协议修饰符:@optionnal和@required,默认是@required
@protocol MyProtocol - (void)requiredMethod; @optional - (void)anOptionalMethod; - (void)anotherOptionalMethod; @required - (void)anotherRequiredMethod; @end//MyProtocol
Objective-C通过类遵循的协议和类继承的超类来定义类的类型。您可以通过发送conformsToProtocol:消息来检查一个类是否遵循特定的协议:
if ([anObject conformsToProtocol:@protocol(MyProtocol)]){
// do something appropriate
}

本文深入讲解了Objective-C中的协议概念,包括如何声明协议、使用协议,以及Objective-C 2.0引入的@optional和@required修饰符。同时,介绍了如何检查一个类是否遵循特定的协议。
995

被折叠的 条评论
为什么被折叠?



