NSUserDefaults 数据存储

前言

  • NSUserDefaults 数据存储

    • Objective-C

      1
      @interface NSUserDefaults : NSObject
    • Swift

      1
      public class NSUserDefaults : NSObject
    • 用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。如果往 userDefaults 里存了一个可变数组,取出来的时候这个数组对象就变成了不可变的。

    • NSUserDefaults 可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用 NSUserDefaults 存储。

    • NSUserDefaults 存储的数据存储在 Library/Preferences 文件夹中 Plist 文件中。

1、NSUserDefaults 的使用

  • 创建单例类对象

    • Objective-C

      1
      2
      // 单例类对象
      NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
    • Swift

      1
      2
      // 创建单例类对象
      let userDefaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
  • 存放数据

    • Objective-C

      1
      2
      3
      4
      5
      // 存放数据
      [userDefaults setObject:@"I Love China" forKey:@"string"];

      // 同步数据,把数据持久化到 standardUserDefaults 数据库
      [userDefaults synchronize];
    • Swift

      1
      2
      3
      4
      5
      // 存放数据
      userDefaults.setObject("I Love China", forKey: "string")

      // 同步数据,把数据持久化到 standardUserDefaults 数据库
      userDefaults.synchronize()
  • 读取数据

    • Objective-C

      1
      2
      // 从 userDefaults 里查询数据
      NSString *str = [userDefaults objectForKey:@"string"];
    • Swift

      1
      2
      // 从 userDefaults 里查询数据
      let str: String = userDefaults.objectForKey("string") as! String
  • 删除数据

    • Objective-C

      1
      2
      3
      4
      5
      // 删除数据
      [userDefaults removeObjectForKey:@"string"];

      // 同步数据
      [userDefaults synchronize];
    • Swift

      1
      2
      3
      4
      5
      // 删除数据
      userDefaults.removeObjectForKey("string")

      // 同步数据
      userDefaults.synchronize()
文章目录
  1. 1. 前言
  2. 2. 1、NSUserDefaults 的使用
隐藏目录