iOS数据持久化(2)-Preference

NSUserDefaults适合存储轻量级的本地数据,如登陆界面的数据,用户名、密码等用户偏好设置类的数据。下次启动应用的时候就可以直接从NSUserDefaults里面读取上次运行的数据。

如果使用自己建立的plist文件什么的,需要自己显式创建文件,读取文件,很麻烦,而如果用NSUserDefaults则不用管这些,就像读字典一样,直接读取数据就可以了,同时NSUserDefaults有缓存机制,可以避免频繁读写文件。

NSUserDefaults支持的数据格式有:NSNumber(BOOL、Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,NSData类型。

另外,NSUserDefaults不能存储可变(mutable)类型,只能存储不可变类型

NSUserDefaults很方便,读取也很容易

添加字段:

    //添加preference
    [[NSUserDefaults standardUserDefaults] setObject:@"value1" forKey:@"key1"];
    [[NSUserDefaults standardUserDefaults] synchronize];

修改字段(即对相同的key,设置不同的值即可):

    //添加preference
    [[NSUserDefaults standardUserDefaults] setObject:@"value2" forKey:@"key1"];
    [[NSUserDefaults standardUserDefaults] synchronize];

删除字段:

    //删除preference
    [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"key1 "];
    [[NSUserDefaults standardUserDefaults] synchronize];

逐个删除字段很麻烦,还可以一次性删除所有字段:

    //删除所有preference
    NSString *appDomainStr = [[NSBundle mainBundle] bundleIdentifier];
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomainStr];

你可能感兴趣的:(iOS数据持久化(2)-Preference)