Как поместить параметр .setTitle для кнопки в UserDefaults и в viewDidLoad

Может быть, кто-то из вас знает, как поставить параметр clearButton.setTitle в параметр UserDefaults, а затем переопределить параметр func viewDidLoad() {.

Это параметры, которые я пытаюсь поставить перед viewDidLoad для подготовки ключа, но я думаю, что defaults.set неверен

let defaults = UserDefaults.standard

let clearB = "clearB"

clearButton.setTitle("Clear", for: .normal )

defaults.set(clearButton.setTitle, forKey: clearB).

Спасибо за помощь BR Ula


person Ula    schedule 24.10.2017    source источник
comment
Что именно вы хотите здесь сделать? Хотите изменить название кнопки?   -  person NSAdi    schedule 24.10.2017
comment
Я пытаюсь сохранить метку кнопки после закрытия приложения, потому что есть две версии текста для этой кнопки.   -  person Ula    schedule 24.10.2017


Ответы (1)


let clearB = "clearB"
clearButton.setTitle("Clear", for: .normal )

UserDefaults.standard.set(clearButton.titleLabel!.text, forKey: clearB)

Забрать:

if let title = UserDefaults.standard.string(forKey: clearB) {
    clearButton.setTitle(title, for: .normal)
}
person Hexfire    schedule 24.10.2017
comment
Спасибо, это ответ, который я ожидал, но странно, что если я закрываю приложение после изменения заголовка и открываю снова, заголовок кнопки остается таким же, как при запуске, он не сохраняет предыдущие изменения, но другие, такие как метки примеров, сохраняют изменения правильно. Может подскажете, в чем может быть причина? - person Ula; 24.10.2017
comment
Исправлено . Нашел проблему. Спасибо за решение. - person Ula; 24.10.2017
comment
Хороший. Рад помочь! - person Hexfire; 24.10.2017