#import<Foundation/Foundation.h>@interfaceUser:nsobject<nscoding>//follow the Nscoding protocol/** Name*/@property (nonatomic, copy) NSString*name;/** Age*/@property (nonatomic, assign) Nsinteger age;//Custom Initialization Methods-(Instancetype) Initwithname: (NSString *) Name: Age (Nsinteger);@end-----------#import "User.h"@implementationUser//Initialize-(Instancetype) Initwithname: (NSString *) Name: (Nsinteger) age{ Self=[Super Init]; if(self) {self.name=name; Self.age=Age ; } returnSelf ;}//Archive- (void) Encodewithcoder: (Nscoder *) acoder{[Acoder encodeObject:self.name forkey:@"name"]; [Acoder encodeInteger:self.age Forkey:@" Age"];}//Anti-archiving-(Instancetype) Initwithcoder: (Nscoder *) adecoder{ Self=[Super Init]; if(self) {self.name= [Adecoder Decodeobjectforkey:@"name"]; Self.age= [Adecoder Decodeintegerforkey:@" Age"]; } returnSelf ;}@end
// Archive Encoding User *user = [[User alloc] Initwithname:@ " Zhang San " Age:+]; *userdata = [Nskeyedarchiver archiveddatawithrootobject:user]; // Anti-archive decoding User *user1 = [Nskeyedunarchiver unarchiveobjectwithdata:userdata];
IOS-Archive Store custom objects