オフラインで使用するために保存したいオブジェクトがたくさんあります。 現在、オブジェクト用にNSCoder準拠のクラスを作成し、オフラインで利用できるようにファイルにコード化したデータを使用しています。私は、オブジェクトを導入した.hでそうNSCoder対応クラスの簡単な方法
:
@interface MyClass : NSObject<NSCoding>{
NSNumber* myObject;}
@property(nonatomic,retain) NSNumber* myObject;
そして.Mで、私はのINITを行います
- (id) initWithCoder: (NSCoder *)coder {
if (self = [super init]) {
[self setMyObject: [coder decodeObjectForKey:@"myObject"]];
}
}
- (void) encodeWithCoder: (NSCoder *)coder {
[coder encodeObject: myObject forKey:@"myObject"];
}
だから、クラスがゲッターとセッターを持つだけでダミーのストレージです。 デコード/エンコードを行うより良い方法はここにあります。 エンコードとデコードに何らかの@ダイナミックまたはキー値コーディングを使用できますか? 基本的には、クラスのすべての変数をファイルに保存し、プログラムが起動するときにオブジェクトに戻したいと思っています。 このアプローチは機能しますが、すべてのクラスを作成するのには時間と労力がかかります。
偉大な答えをありがとう、これは私の目的には完璧です。 私はあなたに投票しますが、私は十分な評判を持っていません。 – MapaX
コードに小さなメモリリークがあります。 追加する必要があります。 無料(プロパティ); propertyKeysメソッドへの – MapaX
良いコール - 私はそれを修正しました。 –