Использование NSKeyedArchiver для хранения пользовательской модели данных
Я работаю над rss-ридером. Это просто табличное представление, и каждая ячейка показывает собственную модель данных RSSEntry. И у меня есть NSMutableArray allEntries, который содержит все RSSEntry, которые я получил с сервера. Вот как выглядит RSSEntry:
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
Я хочу восстановить данные из локального архива, поэтому при выходе и повторном открытии этого приложения табличное представление заполняется данными при последнем обновлении.
Я прочитал пример в «Начинающем программировании iOS5», но он хранит и восстанавливает только одну модель данных. Поэтому я не знаю, как сохранить этот изменяемый массив, полный моей пользовательской модели данных, и восстановить его.
Я использую следующий код для хранения и восстановления данных:
// 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, может быть, он немного скучный. Извините.