zoukankan      html  css  js  c++  java
  • NSUserDefaults概述

    原创,转载请注明原文:NSUserDefaults概述  By Lucio.Yang

      首先,iOS中有四种存储数据的方式-对比iOS中的四种数据存储

      NSUserDefaults是其中很常用的一种。NSUserDefaults被设计用来存储设备和应用的配置信息,它被保存在沙盒中的:Library/Preferences文件夹下,后缀为plist的文件中,以键值对的形式存储数据。

      注:如何在mac中查看模拟器的应用沙盒中的文件?首先要打开mac隐藏的资源库,最简单的方法是打开Finder,点击前往(屏幕左上角),按住option键,就会出现资源库选项,点击进入,Application Support->iPhone Simulator->7.1->Applications,然后进入具体应用文件夹。

      NSUserDefaults支持存储基本类型为floats,doubles,integers,booleans,URLs的变量,支持存储类型为NSData,NSString,NSNumber,NSDate,NSArray,NSDictionary的实例。如果你想存储其它类型的对象,你应当将其转换成一个NSData的实例。

      1.存储基本类型

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults setInteger:1 forKey:@"count"];
        [userDefaults synchronize];////强制User Defaults系统进行写入磁盘
    
        int i = [userDefaults integerForKey:@"count"];
        NSLog(@"%d",i);

     

    2.存储实例

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        NSData *objColor = [NSKeyedArchiver archivedDataWithRootObject:[UIColor redColor]];//非支持类型转化为NSData
        [userDefaults setObject:objColor forKey:@"myColor"];
        [userDefaults synchronize];
        
        NSData *objColor1 = [[NSUserDefaults standardUserDefaults]objectForKey:@"myColor"];
        UIColor *myColor = [NSKeyedUnarchiver unarchiveObjectWithData:objColor1];                            

      NSUserDefaults是单例,同时也是线程安全的。单例模式用在不同页面间共享NSUserDefaults和sqlite实例,等到用到的时候再来分享。

  • 相关阅读:
    CentOS查看CPU信息、位数、多核信息
    Linux常用命令大全
    chmod命令详细用法
    tar命令的详细解释
    yum和rpm命令详解
    LeetCode 241. Different Ways to Add Parentheses
    LeetCode 139. Word Break
    LeetCode 201. Bitwise AND of Numbers Range
    LeetCode 486. Predict the Winner
    LeetCode 17. Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/lucio_yz/p/3853105.html
Copyright © 2011-2022 走看看