NSUserDefault

简介

它是单例的,并且是线程安全的,是以键值对的形式保存在沙盒中,最下面还是用plist文件进行保存。支持存储的数据类型是id,NSObject(自定义对象),NSString,NSNumber,NSArray,NSDictionary,NSData。
在进行自定义对象的归档时需要实现NSCoding协议。

在NSUserDefault中存在域的概念,包含5个部分

域名 含义
NSArgumentDomain 代表的是命令行参数,可以在Edit Scheme->Arguments->Arguments Passed On Launch中添加,格式是-key value。
Application 应用程序域,设置的方法默认数据保存是在这里
NSGlobalDomain 全局域,所有应用程序都将公用该域
Languages 国际化语言版本域
NSRegistrationDomain 临时域,- (void)registerDefaults:(NSDictionary*)registrationDictionary方法被调用时数据是保存在这里。

在读取数据时,都会在底层的存储结构中进行一次搜索,搜索的顺序是这样:
NSArgumentDomain->Application->NSGlobalDomain->Languages->NSRegistrationDomain

你可能感兴趣的:(NSUserDefault)