我正在使用rss閱讀器。它只是一個tableview,每個單元顯示一個自定義數據模型RSSEntry。我有一個NSMutableArray allEntries,它包含我從服務器獲得的所有RSSEntry。這是RSSEntry樣子:使用NSKeyedArchiver存儲自定義數據模型
@interface RSSEntry : NSObject <NSCoding> {
NSString *_blogTitle;
NSString *_articleTitle;
NSString *_articleUrl;
NSDate *_articleDate;
}
我想,當我退出並再次打開該應用程序以恢復本地歸檔數據是這樣,tableview中填充了數據時,最後一次刷新。
我在「開始的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編程的新手,可能有點沉悶。
不知道爲什麼,但這個答案適用於所有其他似乎完全不同的人 - 謝謝 –