iOS 数据存储方式(偏好设置)

一.简单说明

偏好设置的存储一般是为了保存一些比较常规的设置,比如用户名,字体大小,是否自动登录等信息.存储的位置在沙盒的 Library(Preferences) 文件夹中.


二.注意点

1.偏好设置是专门用来保存应用程序的配置信息的,一般情况不要在偏好设置中保存其他数据.如果利用系统的偏好设置来存储数据,默认就是存储在 Preferences文件夹中的,偏好设置会将所有的数据都保存到同一个文件夹中.

2.使用偏好设置对数据进行保存之后,它保存到系统的时间是不确定的,会在将来的某一时间点自动将数据保存到 Preferences 文件夹下面,如果需要即刻将数据存储,可以使用[defaults synchronize];

3.注意点:所有的信息都写在一个文件中,对比简单的 plist 可以保存和读取基本的数据类型.

4.步骤: 获取 NSUserDefaults,保存(读取)数据


三.代理示例:

// 存数据

- (IBAction)save:(id)sender

{

    // 偏好设置

    // 1.不需要关心文件名和路径(默认的就是bundleid.plist)

    // 2.快速的做键值对存储

    //1.获取NSUserDefaults对象

    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

    

    //2保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)

    [defaults setObject:@"value" forKey:@"key"];

    [defaults setInteger:23 forKey:@"age"];

    [defaults setDouble:1.73f forKey:@"height"];

    [defaults setBool:YES forKey:@"isOn"];

    

    //3.强制让数据立刻保存

    [defaults synchronize];

}


// 取数据

- (IBAction)read:(id)sender

{

    //1.获取NSUserDefaults对象

    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

    //读取保存的数据

    NSString *value = [defaults objectForKey:@"key"];

    NSInteger age = [defaults integerForKey:@"age"];

    double height = [defaults doubleForKey:@"height"];

    

    NSLog(@"value=%@, age=%ld, height= %.1f",value, age, height);

    NSLog(@"bool = %d", [defaults boolForKey:@"isOn"]);

}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值