※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


トップ > リファレンス > データ管理:ファイル管理 > NSCoding プロトコルリファレンス

NSCoding プロトコルリファレンス 翻訳元


このページの最終更新: 2010-02-10
ADCの最終更新:2009-11-17


準拠しているクラス 様々なCocoaのクラス
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能な環境 Mac OS X v10.0以降
コンパニオンガイド Archives and Serializations Programming Guide for Cocoa
宣言ファイル NSObject.h
サンプルコード iSpend
QTQuartzPlayer
SourceView
Squiggles
With and Without Bindings

概観(Overview)


 NSCodingプロトコルではインスタンスオブジェクトのエンコードとデコードをできるようにする為にクラスが実装する必要のある二つのメソッドを宣言しています。この機能はアーカイブ化(オブジェクトや構造体がディスクにストアされる場所)とディストリビューション(オブジェクトが異なるアドレス空間でコピーされる場所)の基礎を提供しています。
 オブジェクト指向の設計方針を保つ為に、エンコードまたはデコードされたオブジェクトはそのインスタンス変数のエンコーディングとデコーディングをする責任があります。コーダはオブジェクトにencodeWithCoder:メソッドやinitWithCoder:メソッドを呼び出すことによってエンコード、デコードするよう伝えます。encodeWithCoder:メソッドは与えられたコーダにインスタンス変数をエンコードするよう指示します。このメソッドは一つのオブジェクトで何度でも呼び出すことができます。initWithCoder:メソッドは与えられたコーダからオブジェクト自身を初期化するよう指示します。そのため、このメソッドは他の初期化メソッドに取って代わり、一つのオブジェクトに一度ずつしか呼び出されません。コーディングすべきオブジェクトは全てNSCodingプロトコルに準拠し、これらのメソッドを実装しなくてはなりません。
 コーダがサポートしている、アーカイブ化可能な型について熟考することが重要です。Mac OS X v10.2以降では、キー値アーカイブ化が推奨されています。詳細はArchives and Serializations Programming Guide for Cocoa?を参照してください。

このクラスでできること(Tasks)


コーダでの初期化(Initializing with a Coder)

    - initWithCoder: required method

コーダでのエンコーディング(Encoding with a Coder)


インスタンスメソッド


encodeWithCoder:

与えられたアーカイバを使ってエンコードします。
 - (void)encodeWithCoder:(NSCoder *)encoder
パラメータ
  • encoder
    • アーカイバオブジェクト。
使用可能な環境
  • Mac OS X v10.0以降
宣言ファイル
  • NSObject.h

initWithCoder:

与えられたアンアーカイバのデータから初期化されたオブジェクトを返します。
 - (id)initWithCoder:(NSCoder *)decoder
パラメータ
  • decoder
    • アンアーカイバオブジェクト
戻り値
  • decoderのデータで初期化されたself
使用可能な環境
  • Mac OS X v10.0以降
サンプルコード
宣言ファイル
  • NSObject.h



|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|