Uso de NSKeyedArchiver para almacenar un modelo de datos personalizado
Estoy trabajando en un lector de RSS. Es solo una vista de tabla y cada celda muestra un modelo de datos personalizado RSSEntry. Y tengo un NSMutableArray allEntries que contiene todos los RSSEntry que obtuve del servidor. Así es como se ve RSSEntry:
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
Quiero restaurar los datos del archivo local, así que cuando salga y abra esta aplicación nuevamente, la vista de tabla se rellena con datos cuando se actualiza por última vez.
He leído el ejemplo en 'Programación de iOS5 inicial', pero solo almacena y restaura un solo modelo de datos. Así que no sé cómo almacenar esta matriz mutable llena de mi modelo de datos personalizado y restaurarlo.
Uso el siguiente código para almacenar y restaurar datos:
// 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];
Solo puedo almacenar y restaurar un modelo de datos de esta manera.
Quien me puede dar una mano. Soy nuevo en la programación de iOS, tal vez sea un poco aburrido .sorry.