ここでの NSCoder の役割は何ですか?
- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self)
{
}
return self;
}
ここでの NSCoder の役割は何ですか?
- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self)
{
}
return self;
}
NSCoder
で初期化するインスタンスのアーカイブ表現を保存した状態を保持します-[id<NSCoding> encodeWithCoder:]
。
つまり、ある時点で self のインスタンスをエンコードしたので、状態を復元するにはコーダーの情報が必要です。
NSCoder はアーカイブを処理します。特に、この典型的なビューのケースでは、NIB のアーカイブが処理されます。したがってinitWithCoder
、NIB が読み込まれると、Interface Builder で構築したインターフェイスが使用されます。
ここで詳細を読むことができます: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html