NSUserDefaults是一个
它的方便之处在于不用申明太多的变量来存储不同的数据,一个NSUserDefaults就搞定了。
它是应用程序域的,能让我们进行更加方便的使用!使用真心的方便啊!
NSUserDefaults是什么呢?
NSUserDefaults类提供了与默认数据库(可以看成是一种特殊的数据库)相交互的编程接口。
做一个比喻:如果将默认数据库比喻为SQL Server数据库,那么NSUserDefaults就相当于SQL语句。
就像我们通过SQL语句可以对SQL Server数据库进行增删改查操作一样。我们可以通过NSUserDefaults对默认系统操作。
那就先来讨论一下它的特点吧:
默认数据库,拥有应用程序域中,所以,我们可以在程序的任何地方调用该“默认系统”中的数据。
默认数据库,主要存储应用程序中需要的一些偏好设置值。所以可以推断,存储的容量不会很大。
在程序运行的时候,NSUserDefaults创建和修改的数据,首先存储在内存中,并自动定时进行存储到默认数据库中。
NSUserDefaults对每一种数据都有响应的存取方法。如果要存储的数据,没有响应的方法,那么必须将要存储的数据归档(转化成响应的数据类型),然后存储。
比如:你想保存其他类型,如UIImage,你应该进行归档(即archive),或者将它转换为NSUserDefaults 支持的存储类型。
NSUserDefaults定义了很多方法来对默认数据库进行操作。
以下列举了一些常用的:
+ (NSUserDefaults *)standardUserDefaults
创建一个NSUserDefaults实例。后,如果 默认数据库 没有建立,那么,默认数据库将被按照以下顺序被建立。
NSArgumentDomain(应用程序域,应用范围在该应用程序中)
NSGlobalDomain(全局域,所有应用程序都将公用该域)
NSRegistrationDomain(临时域,为了确保创建成功)
(当然,取值的时候,也应该是这样的顺序吧,这样才能保证不同应用程序中的数据不被冲突)
————————————————————————————————————————————
+ (void)resetStandardUserDefault
将内存中进行的修改,同步到默认数据库中。
————————————————————————————————————————————
- (id)init
初始化一个默认的NSUserDefaults
————————————————————————————————————————————
- (id)initWithUser:(NSString *)username
初始化一个特定用户的NSUserDefaults,如果该用户不存在,则返回nil
————————————————————————————————————————————
相应的Get方法(就不用多解释了)
- –
arrayForKey: - –
boolForKey: - –
dataForKey: - –
dictionaryForKey: - –
floatForKey: - –
integerForKey: - –
objectForKey: - –
stringArrayForKey: - –
stringForKey: - –
doubleForKey: - –
URLForKey:
————————————————————————————————————————————
响应的Setting方法:
- –
setBool:forKey: - –
setFloat:forKey: - –
setInteger:forKey: - –
setObject:forKey: - –
setDouble:forKey: - –
setURL:forKey:
————————————————————————————————————————————
- (void)removeObjectForKey:(NString
删除响应的项
很多方法,可以参见帮助文档。不在赘述了。
只要写一下我对该类的理解。并对我了解的方法一个备份