NSDictionary
に基づいて "ビジネスオブジェクト"を作成したいとします。これは、実装が任意のキーでこのオブジェクトを拡張できるようにするためのもう1つの理由は、便利なplist形式(整数、浮動小数点数または文字列のいずれかで格納されたオブジェクト)を使用して永続化することです。NSDictionaryをサポートするオブジェクトを作成する
ビジネスオブジェクトには、いくつかの事前定義されたプロパティが含まれています。
@property NSString* customerName;
@property NSString* productCode;
@property int count;
@property double unitPrice;
私は、例えばプロパティリストに(これは厳密な要件ではない、それは他のいくつかの簡単に使用できるフォーマットすることができる)、これをシリアル化します。好ましくは、クラスの実装は、上記の例では、
@synthesize customerName, productCode, count, unitPrice:
である必要があります。このクラスを使用するには、私は次のようなことをしたい:
MyBusinessObject* obj = [MyBusinessObject businessObjectWithContentsOfFile:fileName];
obj.productCode = @"Example";
[obj setObject:@"Some data" forKey:@"AnExtendedProperty"];
[obj writeToFile:fileName atomically:YES];
良い点!私のクラスには基本的なKVC準拠(検証なしなど)があります。しかし、私はそこから - と - plistから行くのですか?私はそれが私の質問の核心だと思う。編集:私はplistから*行くことは難しいと思うが、私はこの場合のために必要はありません。 @ Krumelur。 – Krumelur
編集されました。 – Vignesh
ありがとうございます。私も同様に私の質問を更新しました:) – Krumelur