我目前正在使用这个博客,它使用与 NSKeyedArchiver 一起使用的自定义类。一切似乎都是正确的,但我想知道如何获得“学生”的不同实例。
http://keeptheseinmind.blogspot.com/2011/10/nskeyedarchiver-tutorial.html
在本教程中,每次终止应用程序时都会创建自定义类“students”的新实例。而且我假设在 NSKeyedArchiver 中有许多这样的“学生”实例,但我只能访问其中一个。
保存到磁盘
- (void)saveDataToDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSMutableDictionary dictionary];
[rootObject setValue:student forKey:@"student"];
[NSKeyedArchiver archiveRootObject:rootObject toFile:path];
}
从磁盘加载
- (void)loadDataFromDisk {
NSString *path = @"~/Documents/data";
path = [path stringByExpandingTildeInPath];
NSMutableDictionary *rootObject;
rootObject = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
if ([rootObject valueForKey:@"student"]) {
student = [rootObject valueForKey:@"student"];
}
}
编辑:
我弄错了,每次实例都相互覆盖,每次应用程序都被终止。有趣的...
但是,我的目标仍然是在一个或多个 NSKeyedArchiver 中创建许多“学生”实例。任何想法将不胜感激。