Используя NSKeyedArchiver для хранения пользовательской модели данных

Я работаю над rss-ридером. Это просто табличное представление, и каждая ячейка показывает пользовательскую модель данных RSSEntry. И у меня есть NSMutableArray allEntries, который содержит все RSSEntry, которые я получил с сервера. Вот как выглядит RSSEntry:

    @interface RSSEntry : NSObject <NSCoding> {
        NSString *_blogTitle;
        NSString *_articleTitle;
        NSString *_articleUrl;
        NSDate *_articleDate;
    }

Я хочу восстановить данные из локального архива, поэтому, когда я закрываю и снова открываю это приложение, табличное представление заполняется данными при последнем обновлении.

Я читал пример в 'Beginning iOS5 Programming', но он хранит и восстанавливает только одну модель данных. Поэтому я не знаю, как сохранить этот изменяемый массив, полный моей пользовательской модели данных, и восстановить его.

Я использую следующий код для хранения и восстановления данных:

// 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];

Таким образом я могу хранить и восстанавливать только одну модель данных.

Кто может протянуть мне руку.Я новичок в программировании iOS, возможно, это немного скучно .извините.

9
задан wyp 7 June 2012 в 09:32
поделиться