Defining an Object
Person *p = [[Person alloc] init];
P.name = @ "Jack";
P.age = 20;
P.height = 180.0;
P.address = @ "American";
File storage Path
NSString *path = @ "/users/lianfu/desktop/one.data";
Archive an Object
[Nskeyedarchiver archiverootobject:p Tofile:path];
The path to the read file
NSString *path = @ "/users/lianfu/desktop/one.data";
Read the objects in the file
Person *P2 = [Nskeyedunarchiver Unarchiveobjectwithfile:path];
NSLog (@ "%@,%@,%d,%f", P2.name, P2.address, P2.age, p2.height);
The person object needs to implement two methods (and Viewcontroller to follow protocol <NSCoding>)
-(void) Encodewithcoder: (Nscoder *) acoder{
[Acoder encodeobject:_name forkey:@ "name"];
[Acoder encodeint:_age forkey:@ "age"];
[Acoder encodeobject:_address forkey:@ "Address"];
[Acoder encodefloat:_height forkey:@ "height"];
}
-(ID) Initwithcoder: (Nscoder *) adecoder{
if (self = [super init]) {
_name = [Adecoder decodeobjectforkey:@ "name"];
_age = [Adecoder decodeintforkey:@ "age"];
_height = [Adecoder decodefloatforkey:@ "height"];
_address = [Adecoder decodeobjectforkey:@ "Address"];
}
return self;
}
IOS-Object archiving (storing objects in a file)