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