nsuserdefaults.
nsuserdefaults.
是允许您为应用程序存储和检索用户首选项的Objective-C类。存储为与字符串键关联的NSData,默认值将持续到用户操作系统上的本地数据库。
出于性能原因,它们被放置在内存中,并常常同步回数据库。开始nsuserdefaults.
,您应该首先注册用户可以控制的每个设置的默认值。
然后,您可以使用读取或写入nsuserdefaults类Objectforkey:
和setObject:forkey:
方法。您可以在Developer文档下有关NSUSERDEFAULTS类的更多信息:nsuserdefaults类参考页面,和首选项和设置编程指南。
好的,让我们开始设置默认的用户首选项。为此,我们将创建一个appdefaults.
nsmutabledictary实例,并分配我们要存储的对象。
然后,我们将存放一个nsnumber.
这是应用程序上次更新的时间。NSNUMBER存储为UNIX时间戳,或自时代以来的秒数。
最后,我们将访问共享nsuserdefaults.
调用类方法的实例对象Standarduserdefaults.
在nsuserdefaults类上。一旦我们访问共享实例,我们就会发送registerdefaults:
向对象的消息(或调用registerdefaults:
实例方法)。
-(空虚)setDefaultUserPreferences.{//创建字典以保持默认值nsmutabledicticary.*appdefaults.=[nsmutabledictical文字典];//添加lastupdated默认对象值nsdate.*现在=[nsdate日期];nsnumber.*最近更新时间=[nsnumber numberwithdouble.:[现在TimeIntvalsince1970.]];[appdefaults setObject.:坚持不懈的forkey.:@“最近更新时间”];//注册应用程序默认值[[nsuserdefaults standitaluserdefaults.]registerdefaults.:appdefaults.];}
应用程序启动时,您将需要调用此SetDefaultUserPreferences方法,以确保在安装应用程序后注册默认值。为此,它最容易调用setDefaultUserPreferences.
来自AppDelegate的方法应用程序:DidfinishLaunchingWithOptions:
方法。在Plist文件中存储应用程序的默认用户首选项也是很常见的,特别是如果有很多。
然后我们可以通过调用来访问此设置的值Objectforkey:
实例方法:
nsnumber.*最近更新时间=[[nsuserdefaults standitaluserdefaults.]objectforkey.:@“最近更新时间”];
在上面的代码中,我们定义了名为的NSNumber对象指针最近更新时间
,它具有我们以前注册(或存储)的Lastupdated用户首选项的值。如果我们要更新存储在我们的设置数据库中的值,我们只需打电话给setObject:forkey:
方法:
nsdate.*现在=[nsdate日期];[[nsuserdefaults standitaluserdefaults.]setObject.:现在福克斯:@“最近更新时间”];
这很简单。似乎捕捉人的一件事是当您尝试存储一个用户偏好的简单C数据类型时。请记住,nsuserdefaults类只能存储Object-C对象。因此,如果您有一个标准的C整数,则必须首先创建一个nsnumber.
从该整数可以将其另存为用户默认值。在此示例中,您只需创建一个新的nsnumber.
使用类方法numberwithint:
。