Object-C学习(二)——协议的使用

协议的声明:

下面是一个NSCopying协议的声明:

1 @protocol NSCopying
2 
3 -(id) copyWithZone: (NSZone *) zone;
4 
5 @end

NSCoding协议的声明:

1 @protocol NSCoding
2 
3 -(void) encodeWithCoder: (NSCoder *) aCoder;
4 -(id) initWithCoder: (NSCoder *) aDecoder;
5 
6 @end

 

采用NSCoding协议必须实现这两个方法。encodeWithCoder和initWithCoder。

encodeWithCoder:用于接受对象的实例变量并将其转换为NSCoder类的变量;

initWithCoder:用于从NSCoder类的对象中提取经过转换的冻结的(freeze-dried)实例变量并使用它们初始化一个新对象。

EncodeWithCoder与initWithCoder是成对出现的。

 

修饰符:

@Optional、@required 

 

posted @ 2015-08-13 15:01  Mas丶Driver  阅读(152)  评论(0编辑  收藏  举报