Я разрабатываю ваше собственное приключенческое приложение с 2 кнопками, которые меняют свои .setTitle
при каждом нажатии. Мое приложение готово - все работает как надо. Всякий раз, когда нажимается кнопка, история textview
изменяется, и мои кнопки представляют новые заголовки. Единственное, что я оставил, - это найти способ сохранить самые последние заголовки, которые мне представили кнопки, когда пользователи возвращаются в приложение после его закрытия.
Использование UserDefaults.Standard
помогло мне сохранить историю textview
,но до сих пор я не смог найти способ сохранить изменяющиеся заголовки (.setTitle
) для моих кнопок. Вот как мне удалось сохранить textview
:
let defaults = UserDefaults.standard
func savePageTopText() {
defaults.set(storyTextView.text, forKey: "topText")
}
func checkTopPageText() {
let pageText = defaults.value(forKey: "topText") as? String
storyTextView.text = pageText
}
Затем я добавил savePageTopText()
к каждой из моих кнопок, а с checkTopPageText()
до viewDidLoad.This
- как заголовки для моих кнопокони закодированы, и они меняются при каждом нажатии кнопки:
let answer1a = "Turn left"
let answer1b = "Turn right"
let answer2a = "Keep driving!"
let answer2b = "Pull over!"
@IBAction func buttonPressed(_ sender: UIButton) {
if sender.tag == 1 && storyIndex == 1 {
storyTextView.text = story3
topButton.setTitle(answer3a, for: .normal)
bottomButton.setTitle(answer3b, for: .normal)
savePageTopText()
}
}
Я надеюсь, что я достаточно ясно обо всем - делаю все возможное. Когда пользователи закрывают приложение, как я могу убедиться, что они возвращаются к тем же и самым последним названиям, представленным кнопками? Как сохранить кнопки setTitle с пользовательскими настройками по умолчанию?