iOS学习之——NSCoding协议

要编码的对象,必须实现NSCoding协议。

@protocol NSCoding -(void) encoderWithCoder:(NSCoder *) aCoder;

-(id) initWithCoder:(NSCoder *) aDecoder;

@end

当对象需要保存自身时-encoderWithCoder:方法被调用

当对象需要加载自身时-initWithCoder:方法被调用

initWithCode:和其他init方法一样,在对对象执行操作之前,需要使用超类对它们进行初始化。为此,可以采用两种方式,具体取决于父类,如果父类采用了NSCoding协议,则应该调用[super initWithCoder:decoder];否则,只需要调用[super init]即可。NSObject不采用NSCoding协议,因此我们可以使用简单的init方法

你可能感兴趣的:(ios,协议,init,NSCoding)