博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

协议中的修饰符

Posted on 2011-07-10 20:57  星尘的天空  阅读(489)  评论(0编辑  收藏  举报

关于写一种的修饰符的理解

在objective-c 2.0中的协议中,可以对协议中的成员函数前面添加修饰符。

@ required

用@ required修饰的协议的成员函数,继承该协议的类就必须实现该协议包含的所有的前面有@required修饰的成员函数,

@ optional

用@optional修饰的协议的成员函数,继承该协议的类就可以有选择性的实现这些协议的成员函数,也就是说,对于有@optional修饰的协议成员函数,继承该协议的类,可以实现该函数,也可以不是实现该成员函数。

这种协议定义的方式,可以看做是非正式的协议。

正式协议:与非正式协议一样,也是一组方法列表,但与非正式协议不同的是:

正式协议要求显式的采用协议,采用协议的办法是在类的@interface声明中列出协议的名称,称遵守该协议,必须实现协议的所有方法

OC2.0的新特性,虽然非正式协议可以在效果上达到,但是不能明确表达这种可以选择的意图

从事iphone开发可能会注意到,Cocoa中许多非正式协议正被带有@optional的正式协议取代   

THE END !

2011-07-10