NSUserDefaults 简单使用(沙盒简介)

作者: KermitX | 来源:发表于2016-04-09 17:21 被阅读239次
    应用程序的沙盒:
    • 每个应用程序之间相互隔离的
    • 每个应用程序只能访问自己本地的目录文件,不能访问其他app的目录(越狱除外)
    • 为每个应用程序构建了自己的运行空间
    • 每个应用程序有自己的缓存和文档
    沙盒目录:
    • 应用程序的目录
    • Documents目录:持久化文档数据
    • Library目录:缓存数据(caches) 持久化(Preferences)
    • Tmp目录
        // 获取app目录
        NSString * appPath = [[NSBundle mainBundle] bundlePath];
        NSLog(@"appPath:%@",appPath);
        // 获取数据的home目录
        NSString * homePath = NSHomeDirectory();
        NSLog(@"homePath:%@",homePath);
        // 获取documents目录 第一个参数表面是documents目录 第二个参数是iOS上的选项 第三个参数 是否展开
        NSString * docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
        NSLog(@"docPath:%@",docPath);
    //    docPath = [homePath stringByAppendingPathComponent:@"Documents"];
        // 获取library目录
        NSString * libPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];
        NSLog(@"libPath:%@",libPath);
        // 获取caches目录
        NSString * cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
        NSLog(@"cachesPath:%@",cachesPath);
        // tmp目录
        NSString * tmpPath = NSTemporaryDirectory();
        NSLog(@"tmpPath:%@",tmpPath);
    

    NSUserDefaults: 单例类,在整个应用程序中只有一个,本质是应用程序特定目录下的一个plist文件
    一般用于数据的持久化存储,存储数据量小的数据(设置 用户数据等等)
    在整个应用程序的生命周期都是存在的
    一般用于存储基本数据类型:NSString NSSData NSNumber Boolean NSArray NSDictionary容器对象中也必须是以上基本类型

    1.写入到沙盒
        // 类方法获取单例对象
        NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
        // 保存BOOL值
        [userDefaults setBool:<span class="s1" style="font-family: Arial, Helvetica, sans-serif;">YES</span><span style="font-family: Arial, Helvetica, sans-serif;"> forKey:@"kState"];</span>
        // 将数据立即同步写入到文件中
        [userDefaults synchronize];
    
    2.从沙盒中读取
        NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
        BOOL yes = [userDefaults boolForKey:@"kState"];
    

    相关文章

      网友评论

        本文标题:NSUserDefaults 简单使用(沙盒简介)

        本文链接:https://www.haomeiwen.com/subject/bzhblttx.html