归档:
归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式)
- (IBAction)save:(id)sender { //准备数据 NSString *name = @"小杨在玩iOS"; NSInteger age = 22; NSString *address = @"你猜我在哪~"; UIImage *photo = [UIImage imageNamed:@"loginman.jpg"]; //存储数据到类 Archive *archivingData = [[Archive alloc] init]; archivingData.name = name; archivingData.age = age; archivingData.address = address; archivingData.photo = photo; //归档 NSMutableData *data = [[NSMutableData alloc] init]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; [archiver encodeObject:archivingData forKey:kArchivingDataKey]; // archivingDate的encodeWithCoder [archiver finishEncoding]; //写入文件 [data writeToFile:self.archivingFilePath atomically:YES]; } - (IBAction)loadArchive:(id)sender { NSData *data = [[NSMutableData alloc] initWithContentsOfFile:self.archivingFilePath]; NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; //获得类 Archive *archivingData = [unarchiver decodeObjectForKey:kArchivingDataKey];// initWithCoder方法被调用 [unarchiver finishDecoding]; //读取的数据 NSString *name = archivingData.name; NSInteger age = archivingData.age; NSString *address = archivingData.address; self.imageView.image = archivingData.photo; NSLog(@"%@||%d||%@",name,age,address); }
浙公网安备 33010602011771号