NSUerDefaults类提供了一个默认的系统编程接口进行交互,可以说是最简单的存储方式之一,一般用来存储应用程序相关的偏好设置,配置数据等,以便于下次启动程序之后能恢复上次的设置。而且它可以在程序的任何地方存储和读取数据。在运行时,可以使用NSUerDefaults对象读取应用程序的默认数据库来获取数据。NSUserDefaults是单例类。是单例模式的一个实例,而模式单例是一种常见的编程方式。在iOS中,单例模式很常见,它用于确保特定类只有一个实例。单例最常用于表示硬件或者操作系统向应用程序提供的服务。
用法:
字符串容易写错,定义一个define
#define PasswordKey @"passwordKey"
根据key保存信息(小量的信息,密码,用户名等)
[[NSUserDefaults standardUserDefaults] setObject:...... forKey:PasswordKey];
根据key值提取保存的信息
NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:PasswordKey];
注意:
1.一旦保存了关闭程序也不会清空保存的东西,再次启动保存的东西依然在。用setObject:nil清空保存的东西。
2.并不是所有的东西都能往里放的。NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary。
3.NSUerDefaults具有缓存机制,所以不必再每次读取数据的时候都打开应用程序的默认设置数据库。可以通过synchronize方法来使内存中的缓存与系统默认数据库进行同步。
原文:http://www.cnblogs.com/huoran1120/p/5128150.html