我目前正在使用這個博客,它使用NSKeyedArchiver使用的自定義類。一切似乎都是正確的,但我想知道如何獲得「學生」的不同實例。在NSKeyedArchiver中查找不同的實例
http://keeptheseinmind.blogspot.com/2011/10/nskeyedarchiver-tutorial.html
在本教程中,自定義類「學生」的新實例每次創建時的應用程序被終止。我假定NSKeyedArchiver中有許多這樣的「學生」實例,但我只能訪問其中的一個。
從盤面
- (void)loadDataFromDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
if ([rootObject valueForKey:@"student"]) {
student = [rootObject valueForKey:@"student"];
}
}
編輯保存到磁盤
- (void)saveDataToDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSMutableDictionary dictionary];
[rootObject setValue:student forKey:@"student"];
[NSKeyedArchiver archiveRootObject:rootObject toFile:path];
}
加載:
我錯了,每次都互相覆蓋的情況下,每次應用程序正在終止。有趣的...
但是,我的目標仍然是在一個或多個NSKeyedArchiver中創建「學生」的許多實例。任何想法將不勝感激。
我想用學生數組的方法。但是,我想建立加班學生人數;當我們想要將其歸檔時,它不一定會準備好。我想先看到檔案數據文件內的學生,然後添加學生。我試圖通過解壓縮來解決這個問題(如果文件存在),然後將其存檔,但現在似乎沒有任何東西被存儲。 – freedom 2013-02-27 18:12:47
但是,根據我的需要,剛剛嘗試了新的密鑰方法!穆喬格拉西亞斯! :) 好想法! – freedom 2013-02-27 18:34:26
和...得到這個之後,我回到了NSMutableArray,並得到它的工作:)! 首先,我將NSMutableArray設置爲rootObject,並使用addObject方法。在這種情況下應該沒有使用密鑰。 – freedom 2013-02-27 18:54:29