私はRSSリーダーに取り組んでいます。これは単なるテーブル ビューであり、各セルにはカスタム データ モデル RSSEntry が表示されます。そして、サーバーから取得したすべての RSSEntry を含む NSMutableArray allEntries があります。RSSEntry は次のようになります。
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
ローカル アーカイブからデータを復元したいので、このアプリを終了して再度開くと、最後の更新時にテーブルビューにデータが入力されます。
「Beginning iOS5 Programming」の例を読みましたが、1 つのデータ モデルのみを保存および復元するだけです。したがって、この変更可能な配列をカスタム データ モデルでいっぱいに保存して復元する方法がわかりません。
次のコードを使用して、データを保存および復元します。
// STORE
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:entry forKey:kDataKey];
[archiver finishEncoding];
// RESTORE
NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath:kFilename]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
RSSEntry *entries = [unarchiver decodeObjectForKey:kDataKey];
[unarchiver finishDecoding];
この方法で保存および復元できるデータ モデルは 1 つだけです。
誰が私に手を貸してくれますか。私は iOS プログラミングに慣れていないので、少し退屈かもしれません。