iPhone数据存储之属性和归档Archive
From:?http://www.zhujiangroad.com/program/iOS/24620.html
?
?
iPhone数据存储之属性和归档Archive是本文要介绍的内容,在iPhone中有四种方式可以永久存储数据分别是属性列表、归档、SQLITE3、coredata??。
先来解释一下,前两者、后二者操作的时候有些地方是相同的,以属性列表和归档来说都会用writeToFile/URL:path atomically:flag 和initWithContentofFile/URL:path;两都都不能直接操作基本数据类型,不过前者不能操作自定义的类,而后者可以通过实现NSCoding协议来达到目的??。另外要说点的就是IPHONE每个应用都会有三个文件夹分别是documents、tmp、library分别称为存储应用的数据,临时数据,数据库??。我们要保存的数据会在documents中??。由于时间关系抽空再把这个文字写完整些??。
@implementation?person ?@synthesize?name; ?
- @synthesize?profession; ?#pragma?mark----nscoding?delegate?2?method-- ?
- -?(void)encodeWithCoder:(NSCoder?*)aCoder{ ?[aCoder?encodeObject:name?forKey:?kName]; ?
- [aCoder?encodeObject:profession?forKey:?kProfession]; ?//?[aCoder?encodeObject:Age?forKey:?kAge]; ?
- //?[aCoder?encodeObject:marry?forKey:kMarry]; ?} ?
- -?(id)initWithCoder:(NSCoder?*)aDecoder{ ?if(self?=?[super?init]){ ?
- self.name?=?[aDecoder?decodeObjectForKey:kName]; ?self.profession?=?[aDecoder?decodeObjectForKey:kProfession]; ?
- //Age?=?[aDecoder?decodeObjectForKey:kAge]; ?//?marry=[aDecoder?decodeObjectForKey:kMarry]; ?
- } ?return?self; ?
- } ?#pragma?mark?---------------NSCopying?1?method------------- ?
- -?(id)copyWithZone:(NSZone?*)zone{ ?person?*tmp?=?[[[self?class]?allocWithZone:zone]?init]; ?
- tmp.name?=?[self.name?copy]; ?tmp.profession?=?[self.profession?copy]; ?
- return?nil; ?} ?
- -(void)dealloc{ ?[name?release]; ?
- [profession?release]; ?[super?dealloc]; ?
- } ?//-(void)setAge:(NSInteger)age?andMarry:(Boolean)b{ ?
- //?Age?=?age; ?//?marry?=?b; ?
- //} ?@end?
小结:iPhone数据存储之属性和归档Archive的内容介绍完了,希望本文对你有所帮助!