归档:

归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式)

 

- (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);  
}  

 

posted on 2015-03-12 17:13  轻度强迫症  阅读(139)  评论(0)    收藏  举报