Verwenden von NSKeyedArchiver zum Speichern von benutzerdefinierten Datenmodellen

Ich arbeite an einem RSS-Reader. Es ist nur eine Tabellenansicht und jede Zelle zeigt ein benutzerdefiniertes Datenmodell RSSEntry. Und ich habe ein NSMutableArray allEntries, das alle RSSEntry enthält, die ich vom Server bekommen habe. So sieht RSSEntry aus:

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

Ich möchte Daten aus dem lokalen Archiv wiederherstellen. Wenn ich diese App beende und wieder öffne, wird die Tabellenansicht beim letzten Aktualisieren mit Daten gefüllt.

Ich habe ein Beispiel in 'Beginning iOS5 Programming' gelesen, aber es wird nur ein Datenmodell gespeichert und wiederhergestellt. Ich weiß also nicht, wie ich dieses veränderbare Array mit meinem benutzerdefinierten Datenmodell speichern und wiederherstellen soll.

Ich verwende folgenden Code zum Speichern und Wiederherstellen von Daten:

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

Auf diese Weise kann ich nur ein Datenmodell speichern und wiederherstellen.

Wer kann mir helfen? Ich bin neu in der iOS-Programmierung, vielleicht ist es ein wenig langweilig.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage