iOS数据存储的三种方式

数据存储的3种方式:(storeData)

1.XML属性列表(plist) - documents
writeToFile:(文件路径)

2.存储偏好设置:(同步到iTuns和iCloud(不需要存储路径)
获取偏好设置对象:(单例)
存储方式类似字典。

存储偏好设置的数据不需要路径。

[ [NSUserDefaults standardUserDefaults]  setObject: forKey:  ];
要立即同步否则可能会丢失数据:[ default synchronize ].
如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)

3.归档存储:NSKeyedArchiver (需要路径)
保存对象,对象的类遵守<NSCoding>协议,必须实现协议中encode WithCoder方法。

a.归档是存储的过程,怎么存是由系统决定

此方法是告诉系统,可以存储对象的哪些属性

- (void)encodeWithCoder:(NSCoder *)aCoder

{


    [aCoder encodeObject:self.name forKey:@"name"];

    [aCoder encodeInteger:self.age forKey:@"age"];

    [aCoder encodeBool:self.isTrue forKey:@"isTrue"];

}

b.归档是读取的过程,怎么读取是由系统决定

此方法是告诉系统,可以获取取对象的哪些属性

读取(反归档)NSKeyedUnArchiver。必须实现协议中initWithCoder方法:

- (instancetype)initWithCoder:(NSCoder *)aDecoder

{

    if (self = [super init]) {

        

        self.name =  [aDecoder decodeObjectForKey:@"name"];

        self.age = [aDecoder decodeIntegerForKey:@"age"];

        self.isTrue = [aDecoder decodeBoolForKey:@"isTrue"];

        

    }

    

    return self;

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值