NSMutableDictionaryの配列を保持するカスタム クラスを作成するとします。
@interface CustomStore : NSObject
{
NSMutableArray *allDictionary;
}
archiveRootObject:toFile を使用してリストを保存できますか?
辞書からカスタム クラスを取得したい場合はどうすればよいでしょうか。カスタム クラスで encodeObject:forKey: を確認する必要がありますか?
NSMutableDictionaryの配列を保持するカスタム クラスを作成するとします。
@interface CustomStore : NSObject
{
NSMutableArray *allDictionary;
}
archiveRootObject:toFile を使用してリストを保存できますか?
辞書からカスタム クラスを取得したい場合はどうすればよいでしょうか。カスタム クラスで encodeObject:forKey: を確認する必要がありますか?
はい、はい。ここにまともなチュートリアルがあります: http://cocoadevcentral.com/articles/000084.php
カスタム クラスは、NSCoding プロトコルに準拠する必要があります。initWithCoder: と encodeWithCoder: を実装するのと同じくらい簡単です。NSCoding プロトコルを実装するカスタム クラスを取得したら、準備完了です。
NSKeyArchiver を使用することで、保存したいオブジェクトは NSCoding で実装を確認する必要があります。
@interface YouClassName : NSObject <NSCoding>
そして実装
- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder;
したがって、カスタム クラスが上記のように実装された後、それらをリストに正常に保存できます。