Pracuję nad czytnikiem rss. To tylko widok tabeli, a każda komórka pokazuje niestandardowy model danych RSSEntry. I mam NSMutableArray allEntries, który zawiera wszystkie RSSEntry, które dostałem z serwera. To co RSSEntry wygląda następująco:Używanie NSKeyedArchiver do przechowywania własnego modelu danych
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
Chcę przywrócić dane z lokalnego archiwum więc kiedy zamknąć i otworzyć aplikację kolejny tableview jest wypełniona danych podczas ostatniego odświeżenia.
Przeczytałem przykład w "Początku programowania w systemie iOS5", ale zapisuje i odtwarza tylko jeden model danych. Tak więc nie wiem, jak przechowywać tę zmienną tablicę pełną mojego niestandardowego modelu danych i przywrócić go.
Używam następujący kod do przechowywania i przywracania danych:
// 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];
mogę tylko przechowywania i przywracania danych w jednym modelu w ten sposób.
Kto może mi pomóc. Jestem początkującym programistom na iOS, może to trochę nudne .sorry.
Nie wiem dlaczego, ale ta odpowiedź działa, gdy wszystkie inne, które wydają się identyczne, nie - dzięki –