• IOS 偏好设置数据 存 取(Preferences文件夹)


     很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设 置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能

    每个应用都有个NSUserDefaults实例,通过它来存取偏好设置

    比如,保存用户名、字体大小、是否自动登录 

    注意:UserDefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中 的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序 就终止了。出现以上问题,可以通过调用synchornize方法强制写入[defaults synchornize]; 
    /**
     *
     *存储数据
     */
    - (IBAction)saveBtn:(id)sender {
        // 偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要再偏好设置中保存其他数据
        // 如果利用系统的偏好设置来存储数据, 默认就是存储在Preferences文件夹下面的
        // 偏好设置会将所有的数据保存到同一个文件中
        
        // 获取NSUserDefaults对象
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        // 保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)
        [defaults setObject:@"lnj" forKey:@"name"];
        [defaults setObject:@"man" forKey:@"gender"];
        [defaults setInteger:13 forKey:@"age"];
        [defaults setDouble:10.1 forKey:@"height"];
        
        // 让NSUserDefaults立刻保存数据
        [defaults synchronize];
    
    }
    
    /**
     *读取数据
     *
     */
    - (IBAction)readBtn:(id)sender {
        
        // 1.获取NSUserDefaults
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        // 2.通过NSUserDefaults获取保存的数据
        NSString *name = [defaults objectForKey:@"name"];
        int age = [defaults integerForKey:@"age"];
        NSLog(@"%@", name);
        NSLog(@"%d", age);
    }
  • 相关阅读:
    Swap Nodes in Pairs
    Length of Last Word
    leetcode开篇
    数据备份crontab+pyhon
    hdu 1848 博弈 难题 取石子 三堆
    jd1338.c
    ubuntu 13.10上配置打印机
    运煤智力题
    【开发记录】RTMP推流协议互联网直播点播平台EasyDSS新增生成水印模块记录
    互联网视频直播点播分析平台EasyDSS配置公网IP后登录提示“服务不存在”问题排查过程介绍
  • 原文地址:https://www.cnblogs.com/liuwj/p/6528205.html
Copyright © 2020-2023  润新知