У меня возникла странная проблема с NSUserDefaults. Я просто пытаюсь сохранить строку, но она продолжает возвращать пустое.Данные не передаются через NSUserDefaults
Когда я закрываю приложение и снова открываю его и загружаю строку из NSUserDefaults, независимо от того, что я ввел, он ничего не отображает на ярлыке, который я использую. Я знаю, что строка содержит правильные данные, прежде чем она пройдет через NSUserDefaults, поскольку я попытался поместить ее в println.
Вот мой код, который имеет отношение к строке:
formattedNumberTotal = formatter.stringFromNumber(currencyDouble)
println(formattedNumberTotal)
NSUserDefaults.standardUserDefaults().setObject(formattedNumberTotal, forKey: "userInitialBudget")
override func viewWillAppear(animated: Bool) {
totalBudgetDisplay.text = NSUserDefaults.standardUserDefaults().stringForKey("userInitialBudget")
}
У меня есть другие переменные, которые я ВРУЧАЮЩ точно так же, как и они работают абсолютно нормально. Поэтому я не вижу, где эта проблема.
Что такое тип' formattedNumberTotal'? 'NSUserDefaults' работает только с ограниченным числом типов:' NSData', 'NSString',' NSNumber', 'NSDate',' NSArray', 'NSDictionary' и их комбинации. Не допускаются Swift 'String',' Array' или 'Dictionary'. Обратите внимание, что это очень популярный вопрос, который немного искал бы. – zaph
Спасибо за ответ. Это строка, поэтому я не вижу причин, почему она не работает. Да, я должен был сделать быстрый поиск, прежде чем спрашивать. – user3746428
Ах! Я понятия не имел, что Swift Strings не разрешены. Тогда я попробую NSString. – user3746428