轻量级数据库--NSUserDefaults 的使用

 

NSUserDefaults简介及其用法

NSUserDefaults类提供了一个与默认系统进行交互的编程接口, 他主要用来存储对象类型,可用来恢复与程序相关的偏好设置,配置数据等等。

同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作,

NSUserDefaults类提供了非常方便的方法来获取常用的类型,例如 floats,doubles,intergers,Booleans,URLs。所以一个NSUserDefaults的对象必须是属性表,这也就是说 我们可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。如果你想存储其他类 型的对象,你要将其归档并创建一个NSData来实现存储。

从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。例如你使用mutable string做为“MyStringDefault”的值,当你做使用stringForKey:方法获取的值,这个值仍然是不可变的。

NSUserDefaults是单例,同时也是线程安全的

例如 : 我们要记录登录用户的相关信息 such as:用户名,电话号,邮箱等等。。

首先 :初始化NSUserDefaults

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setObject:userID forKey:@"userName"];
    [userDefaults setObject:telephone forKey:@"telephone"];

“userName”和“telephone”为存储数据的关键词  即我们所说的 key值,这样我们就将用户名和电话号码存储起来到数据库中

当我们要使用这俩个key值的value时候,

同样  初始化  NSUserDefaults

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSString *userName = [userDefaults objectForKey:@"userName"];
    NSString *telephone = [userDefaults objectForKey:@"telephone"];

这样  我们就取出我们之前存储的userName  和 telephone

直接可以使用  非常方便,明了 ,简洁

当然  你可能会问  NSUserDefaults将数据存储在什么地方?如何才能清除呢

其实它存储在应用程序内置的一个plist文件里,这个可以根据路径看到

比如说这个是你的程序沙盒位置
/UsersLibrary/Application Support/iPhoneSimulator/29788E40-AF47-45A0-8E92-3AC0F501B7F4/,(这个是应用程序对应在mac上的位置)
这个下面有/Library/Prefereces,里面有个plist文件,存储的就是你的userDefaults
想要删掉的话,用removeObjectForKey或者删掉沙盒,也就是你的应用程序然后重新安装。

至此,NSUserDefaults轻量级数据库存取  就已经全部结束!!!







你可能感兴趣的:(轻量级数据库--NSUserDefaults 的使用)