NSCoding是否自动实例化正确的派生类

时间:2014-07-02 12:10:38

标签: objective-c nscoding

我想:从基数继承的许多派生类符合NSCoding

当我解码时,我是否需要“做某事”来处理实例化正确的派生类,或者NSCoding是否为我处理了所有这些?

1 个答案:

答案 0 :(得分:2)

您无需为NSCoding执行某些操作即可为您实例化正确的子类。它会自动执行此操作。

如果您的基类需要对自身进行编码或解码,请不要忘记您需要在实现中调用super:

- (void)encodeWithCoder:(NSCoder *)coder
{
  [super encodeWithCoder:coder];

  // And do your own encoding.
}

- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
  if(self = [super initWithCoder: aDecoder]) 
  {
    // Do your own decoding here.
  }
  return self;
}