读书人

Object-C动态特点之protocol

发布时间: 2013-07-04 11:45:40 作者: rapoo

Object-C动态特性之protocol
在Object-C中,Protocol被用来定义一组独立于具体类的属性和方法,其不具体实现这些方法,任何类都可以实现Protocol,Protocol可以继承另一个Protocol,从特征上看Protocol的作用类似于Java世界的接口。

Protocol在具体的使用过程中基本上采用了“Delegation”模式,即采用Protocol定义方法,然后不同的类使用不同的具体实现,从而完成某个行为的多态。 在iOS的SDK类库中大量使用了这样的Delegate的模式,比方说UITableViewDataSource定义了Table View如何使用数据源的一系列方法,开发者需要使用Table View时,就需要实现这一系列方法,然后把自己定义的Table View delegate给当前对象。这样,不同界面的Table View就可以基于自身对象的实现做不同的展现。

定义protocol非常简单,如下:

...id <UITableViewDataSource>  _dataSource;…




读书人网 >编程

热点推荐