Sian 发表于 2014-3-21 18:24:46

协议的基本使用

1、定义一个协议
      @protocol 协议名称
                方法声明...
      @end

2、如何遵守协议

      > 类遵守协议
      @interface 类名 : 父类名 <协议名>

      > 协议遵守协议
      @protocol 协议名称 <协议名称>      // 可以理解为协议的继承(类似类的继承)

3、协议中方法声明的关键字
      @required      // 必须实现的方法
                方法声明...
      @optional                // 可选方法
                方法声明...

      默认为@required

4、协议的使用场景:代理设计模式

      > 创建一个对象:NSObject * obj;如果要求该对象一定要遵守某个协议,则写成 类名<协议名> * 对象名 (如:Person <Protocol> * p)
      > 声明一个对象属性时同样可以使用该形式,如@property (nonatomic, strong) id<Protocol> obj;

参考链接:协议(Protocol)与代理设计模式
http://www.yusian.com/forum.php?mod=viewthread&tid=983&fromuid=3
(出处: 小龙虾IT论坛)
页: [1]
查看完整版本: 协议的基本使用