面向协议的编程 一般只有声明 没有实现 因此只有.h文件 (如果声明在某一个类的话 回在.m中实现)
基本用途 协议也可继承协议 (两个协议中的方法名可相同 只要实现一个就可)
1.可以声明一大堆方法
2.只要是某个类遵守了这个协议 就相当于拥有了这个协议声明的方法
3.只要父类遵守了某个协议 就相当于子类也遵守了这个协议
4.一个类可以遵守多个协议(相当于多继承)
@protocol 协议名称<NSObject>
//声明方法
@required 必须实现的
@optional 可选择的
@end
定义对象和属性的时候 可直接指定 遵守某个协议 然后这个对象或属性就可以实现协议中的方法
eg:
Person <MyProtocol> *person = [Person new];
@property id<MyProtocol>delegate;