美文网首页
数据存储 NSUserDefaults

数据存储 NSUserDefaults

作者: Dannn_Y | 来源:发表于2016-05-11 07:08 被阅读535次

    NSUserDefaults

    用户轻量级的
    NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。

    • 存数据

           //获取NSUserDefaults 对象
           NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
           // 存数据,不需要设置路径,NSUserDefaults 将数据保存在preferrences目录下
        [userDefaults setObject:@"Jane" forKey:@"name"];
        [userDefaults setObject:@"phone" forKey:@"1892233232"];
            // 立刻保存同步数据,(如果不写这句话,会在将来某个时间点将数据保存在preference目录下)
         [userDefaults synchronize];
      
    • 取数据

           //获取NSUserDefaults对象
            NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
         //读取数据
         NSString *userName  = [userDefaults objectForKey:@"name"];
         NSString *userPhone  = [userDefaults objectForKey:@"phone"];
      
    • 判断一个数据是否存储在NSUserDefaults 中

        if ([userDefaults objectForKey:@"Kite"] == nil) {
           NSLog(@"没有存储Kite用户这个数据");
        }
      
    • 如果存储 key 相同,value 不同的数据,后面的数据会把前面的数据替换掉。

        //执行完这行代码,文件中存储的数据就是现在的心value
        [[NSUserDefaults standardUserDefaults] setObject:@"phone" forKey:@"1877230212"];
         [userDefaults synchronize];
      
    • 这只是NSUserDefaults 简单的使用,它还支持存储数组NSArray,和字典NSDictionary,不过存的都是不可变的元素,如果数据类型是可变的要转换成不可变的存储

    相关文章

      网友评论

          本文标题:数据存储 NSUserDefaults

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