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);
时间: 2024-07-29 20:00:31

NSUserDefault数据存储之偏向设置的相关文章

iOS开发UI篇—ios应用数据存储方式(偏好设置)

iOS开发UI篇—ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 1 // Created by 鑫 on 14-10-24. 2 // Copyright (c) 2014年 梁镋鑫.

ios应用数据存储方式(偏好设置)

ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 8 9 #import "YYViewController.h" 10 //偏好设置 11 @interface YYViewCo

数据存储之偏好设置

一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 9 #import "YYViewController.h" 10 //偏好设置 11 @interface YYViewController () 12 /** 1

ios应用数据存储方式(偏好设置)-转

一.简单介绍 1.很多ios应用都支持偏好设置,比如保存用户名,密码,字体大小等设置,ios提供了一套标准的解决方案来为应用加入偏好设置功能. 2.每个应用都有个NSUserDefaults实例,通过它来存储偏好设置.比如,保存用户名,字体大小,是否自动登录. 3.存储位置  4.存储形式  二.代码示例 #import "ViewController.h" #define CURRENT_SCREEN_WIDTH [UIScreen mainScreen].bounds.size.w

数据存储之偏好设置NSUserDefaults

NSUserDefaults做数据存储也是比较常用,适合轻量级的本地数据存储,读取也很方便. 一.支持的数据类型如下图(NSString.NSArray.NSDictionary.NSData.NSInteger.float.double.BOOL.NSURL) 二.使用Demo

iOS -- plist数据存储与偏好设置数据存储

// 向plist文件中存储数据NSString *home = NSHomeDirectory();NSString *docPath = [home stringByAppendingPathComponent:@"Document"]; NSArray *data = @[@"jack", @10, @"ffdsf"];NSString *filePath = [docPath stringByAppendPathComponent:@&q

ios数据存储之一 —— NSUserDefaults(偏好设置)

1 存储数据到NSUserDefaults(偏好设置)中 // 获取NSUserDefaults对象 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // 保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面) [defaults setObject:@"lnj" forKey:@"name"]; [defaults setObje

01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置

1.获得项目中info.plist文件的内容 1> [NSBundle mainBundle].infoDictionary 2> 版本号在info.plist中的key:kCFBundleVersionKey 2.沙盒的数据存储及读取 1> 数据存储: [[NSUserDefaults standardUserDefaults] setObject:version forKey:versionKey]; 存储数据时记得同步一下 [[NSUserDefaults standardUser

数据存储之plist、偏好设置

// 偏好设置--------------------------------- // 存储基本类型数据 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:@"hello world!" forKey:@"testsavekey"]; // 强制保存,否则需要等系统保存,时间不定 [defaults synchronize]; // 取数据 NS