2017-02-05 5 views
0

Я хочу установить некоторые данные в NSUserdefaults, но я хочу, чтобы он был установлен в начале. У меня такое чувство, что это будет куда-то в AppDelegate.Как запускать данные только один раз в жизни всего приложения?

Например, я хочу установить проверку «isLoggedIn» bool, но мне нужно установить ее равной false перед запуском, чтобы она могла проверить ее во время выполнения.

ответ

3

NSUserDefaults (или UserDefaults в Swift 3) имеет функцию register(defaults:), которая позволяет вам предоставить словарь, содержащий «значения по умолчанию» или начальные значения по умолчанию. Это то, что вам нужно. Обычно я вызываю вызов register(defaults:) в методе инициализации делегата приложения, поэтому он называется очень рано при запуске приложения, прежде чем вызывать вызов любого из ваших методов экземпляра. Метод инициализации в вашем делете приложения может выглядеть так: Swift:

func initialize() { 
    let dict: [String: Any] = [ 
    "Key1": "value1", 
    "Key2": 3, 
    "isLoggedIn": false] 
    UserDefaults.standard.register(defaults: dict) 
} 
+0

Спасибо, сэр –