如何将 Button 的 .setTitle 参数放在 UserDefaults 和 viewDidLoad 中

Posted

技术标签:

【中文标题】如何将 Button 的 .setTitle 参数放在 UserDefaults 和 viewDidLoad 中【英文标题】:How to put .setTitle parameter for Button in the UserDefaults and in viewDidLoad 【发布时间】:2017-10-24 09:30:57 【问题描述】:

也许你们当中有人知道如何将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 乌拉

【问题讨论】:

您到底想在这里做什么?要更改按钮的标题吗? 我正在尝试在应用程序关闭后保存按钮的标签,因为此按钮的文本有两个版本。 【参考方案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)

【讨论】:

谢谢,这是我所期望的答案,但奇怪的是,如果我在更改标题后关闭应用程序并再次打开按钮的标题仍然与启动时相同,它不会保存以前的更改但其他人喜欢示例标签保存更改正确。也许你能告诉我可能是什么原因? 已修复。发现了问题。感谢您的解决方案。 好。很高兴为您提供帮助!

以上是关于如何将 Button 的 .setTitle 参数放在 UserDefaults 和 viewDidLoad 中的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发 UIButton的基本属性

UIButton setTitle:forState: 使用 UIConrolState() 作为参数

如何在swift中使用字体真棒图标?

如何使用 ReactiveKit Bond 设置 Button 的标题?

如何在swift 3中使用addTarget方法

如何使用 SwiftUI 将参数传递给 Button 的操作