我尝试过很多代码,但不起作用。我想保存按下按钮的状态。
我有两个DL单选按钮,我用它来换两种语言的第一个按钮用于英语,第二个按钮用于阿拉伯语。我正在使用DLRadioButton框架,this framework I am using it。
我希望当我打开viewcontroller时,按下按钮指示器的英语按钮,指示灯变为黑色,当我更改为阿拉伯语时,我想在关闭应用程序时保存按钮的状态并打开指示符钢按下,我试过使用,用户默认但没有用,例如这段代码。
override func viewDidLoad() {
super.viewDidLoad()
UserDefaults.standard.bool(forKey: "issaved")
UserDefaults.standard.bool(forKey: "issaveded")
}
@IBAction func circularbutton(_ sender: UIButton) {
if sender.tag == 0 || sender.isSelected == !sender.isSelected {
let use = UserDefaults.standard
use.set( sender.isSelected, forKey: "issaved")
use.synchronize()
} else if sender.tag == 1 || sender.isSelected == sender.isSelected {
let usee = UserDefaults.standard
usee.set( sender.isSelected, forKey: "issaveded")
usee.synchronize()
}
}
答案 0 :(得分:1)
从UserDefaults
读取值的两行都不执行任何操作,因为您没有使用结果。
为按钮创建两个插座,并在Interface Builder
中连接它们@IBOutlet weak var button1 : UIButton!
@IBOutlet weak var button2 : UIButton!
在viewDidLoad
中,将UserDefaults
的值分配给按钮。
override func viewDidLoad() {
super.viewDidLoad()
button1.isSelected = UserDefaults.standard.bool(forKey: "issaved")
button2.isSelected = UserDefaults.standard.bool(forKey: "issaveded")
}