NSUserDefaults 的简单使用 及其存储位置

NSUserDefaults类提供了非常方便的方法来获取常用的类型,例如floats,doubles,intergers,Booleans,URLs。所以一个NSUserDefaults的对象必须是属性表,这也就是说我们可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。如果你想存储其他类型的对象,你要将其归档并创建一个NSData来实现存储。

从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。例如你使用mutable string做为“MyStringDefault”的值,当你做使用stringForKey:方法获取的值,这个值仍然是不可变的。

NSUserDefaults是单例,同时也是线程安全的

        //存
        NSString * adate = @"if you see me ,Congratulations,you are success!";
        NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
        NSLog(@"adate:%@",adate);
        [defaults setObject:adate forKey:@"adate"];
        [defaults synchronize];  //缺少了,存不进去的
        
        //取
        NSUserDefaults * _defaults = [NSUserDefaults standardUserDefaults];
        NSString * _adate;
        _adate = [_defaults objectForKey:@"adate"];
        NSLog(@"_adate:%@",_adate);

      NSUserDefaults存储的位置:  /Users/*****/Library/Application Support/iPhone Simulator/4.1/Applications/29788E40-AF47-45A0-8E923AC0F501B7F4/,(这个是应用程序对应在mac上的位置)

        这个下面有/Library/Prefereces,里面有个plist文件,存储的就是你的userDefaults.

        

        想要删掉的话,用removeObjectForKey或者删掉沙盒,也就是你的应用程序然后重新安装。

    原文作者:reylen
    原文地址: https://blog.csdn.net/reylen/article/details/7978590
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞