协议体现的是一种规范,定义协议的类可以把协议定义的方法委托给实现协议的类,这样可以让类定义具有更好的通用性质,因为具体的动作交给实现类去完成。
举一个例子,一个寺庙的长老,他定义了打扫寺庙的协议,这个长老就是定义协议的类。长老肯定不会自己去打扫寺庙,他将这个协议委托给弟子实现,那么弟子就是实现协议的类。协议就是打扫寺庙。
协议的定义:
@protocol cleanTemple <NSObject>
// 打扫寺庙的方法
- (void) cleanTemple;
@end
长老接口部分:
@interface elder : NSObject
// 委托对象