Archive(歸檔)
需要歸檔的對象必須要遵循NSCoding協議,那么在調用archiverRootObject方法的時候,會自動調用該對象的encodeWithCoder方法
- (void)encodeWithCoder:(NSCoder *)aCoder{ [aCoder encodeObject:_name forKey:@"name"]; [aCoder encodeInteger:_age forKey:@"age"]; [aCoder encodeObject:_tel forKey:@"tel"]; [aCoder encodeObject:_icon forKey:@"icon"];}
調用方法:[NSKeyedArchiver archiveRootObject:<#(id)#> toFile:<#(NSString *)#>];
Unarchive(恢復)
需要恢復的對象在調用unarchiveObjectWithFile方法的時候,會自動調用該對象的initWithCoder方法
- (id)initWithCoder:(NSCoder *)aDecoder{ NSLog(@"....."); _name = [aDecoder decodeObjectForKey:@"name"]; _age = [aDecoder decodeIntegerForKey:@"age"]; _tel = [aDecoder decodeObjectForKey:@"tel"]; _icon = [aDecoder decodeObjectForKey:@"icon"]; return self;}
調用方法:[NSKeyedUnarchiver unarchiveObjectWithFile:<#(NSString *)#> ];
新聞熱點
疑難解答