2016-04-27 2 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:».

Однако вы должны установить значение по умолчанию для своего ключа, если оно ранее не было сохранено. Это должно быть сделано, прежде чем пытаться получить значение для ключа, где 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/

 Смежные вопросы

  • Нет связанных вопросов^_^