2016-04-27 6 views
0

あなたはこのようにプロパティを作成することができますアプリケーションを再起動しても値を格納する方法は? ApplescriptObjCでアプリケーションを作成する場合

property myValue : "value" 

をしかし、私はこの変数の値を変更した場合、それは「価値」いつでもアプリケーションの再起動に戻されます。アプリケーションを再起動してもリセットされないように、値を保存するにはどうすればよいですか?

答えて

2

アプリケーションを終了する前に、あなたの価値をどこかに保存する必要があります。 NSUserDefaultsを使用すると、最良のアプローチです:

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

、あなたの価値を保存MYKEYは任意の文字列を指定でき、次のコードを使用して、ヴァルするには、保存したい値です。

NSUserDefaults's setObject:val forKey:myKey 

後にあなたの値を取得するには、使用することができます:

NSUserDefaults's objectForKey:myKey 

ちなみに、NSUserDefaultsには、格納されるデータのタイプに応じて、値を取得するためのいくつかの便利な関数があります。たとえば、ブール値を格納する場合は、 "boolForKey:"を使用できます。

ただし、以前に保存されたことがない場合に備えて、キーのデフォルト値を設定する必要があります。

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/

DEFVALがデフォルト値であるここでは、あなたのキーの値を取得しようとする前に行う必要があります
関連する問題