EDIT_002:进一步重写:如果我使用下面的方法保存,那么将该方法加载回去看看怎么样? (卫星是NSNumbers的NSMutableArray)
// ------------------------------------------------------------------- **
// METHOD_002
// ------------------------------------------------------------------- **
-(void)saveMoons:(NSString *)savePath {
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[moons encodeWithCoder:archiver];
[archiver finishEncoding];
[data writeToFile:savePath atomically:YES];
[archiver release];
[data release];
}
加里
答案 0 :(得分:1)
找到它,我的问题是我正在使用......
[moons encodeWithCoder:archiver];
我应该在哪里使用......
[archiver encodeObject:moons];
因此装载机看起来像:
-(void)loadMoons_V3:(NSString *)loadPath {
NSData *data = [[NSData alloc] initWithContentsOfFile:loadPath];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
[self setMoons:[unarchiver decodeObject]];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
}
加里