在initWithCoder中使用NSCoder有什么用? (可可和可可触摸)

时间:2012-02-06 07:19:15

标签: objective-c cocoa-touch cocoa serialization nscoder

NSCoder的角色是什么?

- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];
    if (self)
    {

    }
    return self;
}

2 个答案:

答案 0 :(得分:1)

NSCoder保存您保存实例的归档表示的状态,以便在-[id<NSCoding> encodeWithCoder:]初始化。

换句话说,你在一个时间点编码了一个自我的实例,现在你需要编码器的信息来恢复你的状态。

答案 1 :(得分:0)

NSCoder处理归档,尤其是在视图的典型情况下,归档NIB。因此,当您initWithCoder加载NIB时,使用您在Interface Builder中构建的接口。

您可以在此处阅读更多内容:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html