码迷,mamicode.com
首页 > 其他好文 > 详细

NSUserDefault数据存储之偏向设置

时间:2015-08-19 11:14:12      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:nsuserdefault   数据存储   键值对   偏向设置   数据持久化   

实例:
1、设置值的方法:
  NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
  NSString *countName = self.inputCount.text;
 [defaults setBool:_rememberPassword.on forKey:@"rememberPwd"];
 [defaults synchronize];

2、获取指的方法(通过上面的方法设置值之后,我们可以通过下面的方法来获取值)
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
self.inputCount.text = [defaults objectForKey:@"countName"];
[defaults synchronize];


翻译一下下面的官方文档:
0、+standardUserDefaults
返回的是一个共享的defaults独享

1、
同步使共享用户的默认对象改变和释放它在内存中。
+ (void)resetStandardUserDefaults
A subsequent invocation of standardUserDefaults creates a new shared user defaults object with the standard search list.
子类调用standardUserDefault 创建了一个新的共享用户默认(defaults)对象和标准的查找列表。

2、
返回的就是一个defaults对象初始化,为当前的用户账号。
- (instancetype)init
返回值是:这个初始化NSUserDefaults对象的参数和动态注册已经建立
讨论:这个方法没有设置任何的值在查找的列表中,只是吊用它如果你分配给你的NSUserDefaults对象替换共享的那一个。

3、返回一个NSUserDefaults对象初始化通过指定的app组。

- (instancetype)initWithSuiteName:(NSString *)suitename

参数: suitename     app的名字
如果你将参数设置为nil,系统使用默认的查找列表standardUserDefaults这个类方法使用的。(也就是相当于这个类方法)
返回值是:这个初始化NSUserDefaults对象的参数和动态注册已经建立
讨论:这个方法 是用来查找的场景如下:
1)、当我们开发app套的时候,去共享偏向设置或者其他的数据通过app之间。(多个app之间的偏向数据和数据的共享)
2)、当我们开发一个app扩展的部分的时候,去共享偏向设置或者其他的数据在扩展和它的包括的app。(扩展部分数据的共享)
3、2增加或者移除套名字
- (void)addSuiteNamed:(NSString *)suiteName;
- (void)removeSuiteNamed:(NSString *)suiteName;

4、增加指定的字典内容到动态的注册中。
- (void)registerDefaults:(NSDictionary *)dictionary
参数:dictonary就是设置的key和值想用来注册的。
讨论:如果没有动态注册,一个将被创建通过指定的指点和NSRegistrationDomain(动态注册)江北加到查找列表的末尾。
动态注册的内容没有被写到磁盘上,你需要调用这个方法当你每一个启动你的应用的时候,
你能够放一个plist文件到你的应用的资源目录下和调用registerDefaults:这个方法和你想要通过这个文件读取的内容。

5、通过相应的key获取相应的内容的方法。
- (NSArray *)arrayForKey:(NSString *)defaultName;
- (BOOL)boolForKey:(NSString *)defaultName;
- (NSData *)dataForKey:(NSString *)defaultName;
- (NSDictionary *)dictionaryForKey:(NSString *)defaultName;
- (float)floatForKey:(NSString *)defaultName;
- (NSInteger)integerForKey:(NSString *)defaultName;
- (id)objectForKey:(NSString *)defaultName;
- (NSArray *)stringArrayForKey:(NSString *)defaultName;
- (NSString *)stringForKey:(NSString *)defaultName;
- (double)doubleForKey:(NSString *)defaultName;
- (NSURL *)URLForKey:(NSString *)defaultName NS_AVAILABLE(10_6, 4_0);

6、通过相应的key设置相应的内容的方法
- (void)setBool:(BOOL)value forKey:(NSString *)defaultName;
- (void)setFloat:(float)value forKey:(NSString *)defaultName;
- (void)setInteger:(NSInteger)value forKey:(NSString *)defaultName;
- (void)setObject:(id)value forKey:(NSString *)defaultName;
- (void)setDouble:(double)value forKey:(NSString *)defaultName;
- (void)setURL:(NSURL *)url forKey:(NSString *)defaultName NS_AVAILABLE(10_6, 4_0);

7、删除偏向设置中的方法
- (void)removeObjectForKey:(NSString *)defaultName;

8、持久化动态内容
8.1同步方法,就是是偏向设置的执行周期马上执行。
- (BOOL)synchronize;

8.2返回指定的数组在指定的持久域内。
- (NSArray *)persistentDomainNames NS_DEPRECATED(10_0, 10_9, 2_0, 7_0);

8.3返回指定的键值对在指定的持久域内。
- (NSDictionary *)persistentDomainForName:(NSString *)domainName;

8.4删除
- (void)removeVolatileDomainForName:(NSString *)domainName;

8.5设置值
- (void)setPersistentDomain:(NSDictionary *)domain forName:(NSString *)domainName;


9返回一个bool值 调用判断这个指定的key是否被一个管理员管理。
- (BOOL)objectIsForcedForKey:(NSString *)key;
- (BOOL)objectIsForcedForKey:(NSString *)key inDomain:(NSString *)domain;

10.返回的是一个联合的键值对咋动态的查找列表中
- (NSDictionary *)dictionaryRepresentation;

11、维护挥发性域
- (void)removePersistentDomainForName:(NSString *)domainName; //删除
- (NSDictionary *)volatileDomainForName:(NSString *)domainName;//获取
- (void)setVolatileDomain:(NSDictionary *)domain forName:(NSString  *)domainName;//设置
@property (readonly, copy) NSArray *volatileDomainNames;//属性

12、表示通知的信息量(默认的信号)
NSUserDefaultsDidChangeNotification


13、下面的这些常量是用来指定不同的用户默认域
extern NSString *NSGlobalDomain; //所有的应用都是可见的。
extern NSString *NSArgumentDomain; //这个域包括默认的解析从应用的参数,这些是一个或者多个对从默认的值中包括应用的命令行(命令行也是可见的)
extern NSString *NSRegistrationDomain;//短暂的
还有其他的表示时间等等的一些常量:
FOUNDATION_EXPORT NSString * const NSWeekDayNameArray NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSShortWeekDayNameArray NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSMonthNameArray NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSShortMonthNameArray NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSTimeFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSDateFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSTimeDateFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSShortTimeDateFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSCurrencySymbol NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSDecimalSeparator NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSThousandsSeparator NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSDecimalDigits NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSAMPMDesignation NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSHourNameDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSYearMonthWeekDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSEarlierTimeDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSLaterTimeDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSThisDayDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSNextDayDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSNextNextDayDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSPriorDayDesignations NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSDateTimeOrdering NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSInternationalCurrencyString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSShortDateFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSPositiveCurrencyFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);
FOUNDATION_EXPORT NSString * const NSNegativeCurrencyFormatString NS_DEPRECATED(10_0, 10_5, NA, NA);


NSUserDefault数据存储之偏向设置

标签:nsuserdefault   数据存储   键值对   偏向设置   数据持久化   

原文地址:http://blog.csdn.net/u012496940/article/details/47776881

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!