如何在应用程序重启后存储值?

时间:2016-04-27 15:42:42

标签: database applescript-objc

使用ApplescriptObjC创建应用程序时,您可以创建如下属性:

property myValue : "value"

但是,如果我更改此变量的值,则只要应用程序重新启动,它就会重新设置为“value”。如何存储值,以便在应用程序重新启动后不会重置它们?

1 个答案:

答案 0 :(得分:2)

在应用程序退出之前,您需要在某处存储您的值。使用NSUserDefaults是最好的方法:

property NSUserDefaults : ((current application)'s NSUserDefaults's standardUserDefaults)

要保存您的值,请使用以下代码,其中 myKey 可以是任何字符串, val 是您要保存的值:

NSUserDefaults's setObject:val forKey:myKey

要稍后检索您的值,您可以使用:

NSUserDefaults's objectForKey:myKey

顺便说一句,NSUserDefaults有几个有用的函数来获取值,具体取决于存储的数据类型。例如,如果您要存储布尔值,则可以使用“boolForKey:”

但是,您应该为密钥设置一个默认值,以防以前从未保存过。必须在尝试检索密钥值之前完成此操作,其中 defVal 是默认值:

NSUserDefaults's registerDefaults:((current application)'s NSDictionary's dictionaryWithObject:defVal forKey:myKey)

如果您想了解有关NSUserDefaults的更多信息,可以在此处阅读:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/