Usando o NSKeyedArchiver para armazenar o modelo de dados personalizado
Eu estou trabalhando em um leitor de RSS. É apenas uma tableview e cada célula mostra um modelo de dados personalizado RSSEntry. E eu tenho um NSMutableArray allEntries que contém todos os RSSEntry que recebi do servidor. É assim que o RSSEntry se parece:
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
Eu quero restaurar os dados do arquivo local assim quando eu sair e abrir este aplicativo novamente, a tableview é preenchida com dados quando a última atualização.
Eu li o exemplo em 'Iniciando o iOS5 Programming', mas ele armazena e restaura apenas um modelo de dados. Portanto, não sei como armazenar esse array mutável no meu modelo de dados personalizado e restaurá-lo.
Eu uso o seguinte código para armazenar e restaurar dados:
// 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];
Eu só posso armazenar e restaurar um modelo de dados dessa maneira.
Quem pode me dar uma mão? Eu sou novo para programação iOS, talvez seja um pouco chato. Desculpe.