1

ここでの NSCoder の役割は何ですか?

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

    }
    return self;
}
4

2 に答える 2

1

NSCoderで初期化するインスタンスのアーカイブ表現を保存した状態を保持します-[id<NSCoding> encodeWithCoder:]

つまり、ある時点で self のインスタンスをエンコードしたので、状態を復元するにはコーダーの情報が必要です。

于 2012-02-06T07:28:37.703 に答える
0

NSCoder はアーカイブを処理します。特に、この典型的なビューのケースでは、NIB のアーカイブが処理されます。したがってinitWithCoder、NIB が読み込まれると、Interface Builder で構築したインターフェイスが使用されます。

ここで詳細を読むことができます: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html

于 2012-02-06T07:28:02.103 に答える