iOS开发 文件存储方法汇总

-方法一:NSUserDefaults

用途

一般将轻量级的用户偏好存储在这里,比如用户名,游戏最高得分等。

存储路径

存储路径为dataContainer下的Library/Perferance

文件格式

.plist

使用方法
[[NSUserDefaults standardUserDefaults] setBool:isRemember forKey:@"remember"]; // 存

_rememberSwitch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"remember"]; // 取
复制代码

可以存储的内容格式有:

NSString NSData NSDate NSArray NSDictionary NSNumber (可以将bool,integer,float,double封装成NSNumber)

-方法二:将数组,字典存储到指定路径,并存储为.plist文件

用途

将自定义的数组,字典存储为.plist文件

存储路径

指定的任意路径

文件格式

.plist

使用方法
// 存
NSArray *array = @[@"amao", @"agou"];
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"array.plist"];
[array writeToFile:path atomically:YES];

// 取
NSArray *array = [NSArray arrayWithContentsOfFile:path atomically:YES];
复制代码

-方法三:对象归档

用途

将自定义的Model类转换成特定的数据流,存储到本地(自定义对象以及对象的所有属性需要遵循NSCoding)

存储路径

指定的任意路径 ####文件格式 我通常会以.archive作为后缀 ####使用方法

自定义对象类需要实现以下两个方法:

- encodeWithCoder: // 对象转换成特定数据流

- initWithCoder:   // 将文件转换成特定的对象
复制代码

保存方法:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:保存model的数组];
[data writeToFile:filePath atomically:YES];
复制代码

取方法:

id object = [NSKeyedUnarchiver unarchiverObjectWithFile:filePath];

if ([object isKindOfClass:[NSArray class]]) {
    [model数组 addObjectsFromArray:object];
}
复制代码

上面提到的三种方法的缺点是,无论多小的改动,都是整存整取。

##方法四:SQLite

方法五:Core Data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值