第 1 步:如果使用自定义对象(例如类对象),则
-(id) initWithCoder:(NSCoder *)aDecoder
-(void) encodeWithCoder:(NSCoder *)aCoder
自定义类中的方法,并且必须使用 NSCoding 协议
第 2 步:为了从 .bin 文件中检索数据
NSFileManager * fm = [NSFileManager defaultManager];
NSURL * docsURL =[fm URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
// this will create the file yourFile.bin if it is not present
NSString * path = [[docsURL path]stringByAppendingString:@"/yourFile.bin"];
self.yourArray = [NSKeyedUnarchiver unarchiveObjectWithFile:self.path];
第 3 步:如果要将数据保存到 .bin 文件中
NSFileManager * fm = [NSFileManager defaultManager];
NSURL * docsURL =[fm URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
这将使用您的文件(如果存在),否则它将创建它
NSString * path = [[docsURL path]stringByAppendingString:@"/yourFile.bin"];
[NSKeyedArchiver archiveRootObject:self.recordedPlayers toFile:self.path]
就是这样,您的代码应该通过将数据存储到文件中并在您要求时检索它来正常工作......
希望这能解决问题