iOS数据存储-UserDefaults(偏好设置存储)

  1. 很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小是否自动登录,等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能
  • 偏好设置好处:
    1. 不需要关心文件名
    • 快速进行键值对存储
    • 直接存储基本数据类型
  • 成功后会写入到library(preference)中

删除NSUserDefaults所有记录

//方法一
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

//方法二
- (void)resetDefaults
{
    NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];
    NSDictionary * dict = [defs dictionaryRepresentation];
    for (id key in dict)
    {
        [defs removeObjectForKey:key];
    }
    [defs synchronize];
}

save-UserDefaults(偏好设置存储)应用举例

  1. 写入需保存的设置
//注意类型匹配
[[NSUserDefaults standardUserDefaults] setFloat:18.0f forKey:@"text_size"];
  • 读取上次保存的设置
float textSize = [[NSUserDefaults standardUserDefaults] floatForKey:@"text_size"];
  • 注意:IOS7之前UserDefaults设置数据时,不是立即写入可能还没有写入磁盘应用程序就终止了导致数据丢失,可以通过调用synchornize方法强制写入;
  • IOS7之后已经实现即时写入,可以省略此步
[defaults synchronize];  //'siŋkrənaiz

你可能感兴趣的:(iOS数据存储-UserDefaults(偏好设置存储))