Я использую библиотеку BEMCheckBox для флажка.Дело в том, что когда флажок установлен в true, он не сохраняет входные данные от пользователей
То, что я пытался сделать, это когда флажок == true, то должен сохранить электронную почту и пароль и установить флажок в true, затем сохранитьэто значение по умолчанию для пользователя.
если == false, следует удалить все (адрес электронной почты, пароль и сбросить флажок на false)., но он не работает.
var Defaults = UserDefaults.standard
@IBOutlet weak var box1: BEMCheckBox!
struct keys {
static let emailKey = "emailTextField"
static let passwordKey = "passwordTextField"
static var boxBool = "boxBool"
}
override func viewDidLoad() {
didTap(box1)
box1.delegate = self
checkSavedData()
}
func didTap(_ checkBox: BEMCheckBox) {
if checkBox.on == true {
rememberMyEmailandPassword()
} else if checkBox.on == false {
Defaults.removeObject(forKey: keys.emailKey)
Defaults.removeObject(forKey: keys.passwordKey)
Defaults.removeObject(forKey: keys.boxBool)
}
}
func rememberMyEmailandPassword() {
Defaults.set(emailTextField.text, forKey: keys.emailKey)
Defaults.set(passwordTextField.text, forKey: keys.passwordKey)
Defaults.set(box1.on, forKey: keys.boxBool)
}
func checkSavedData() {
let email = Defaults.value(forKey: keys.emailKey) as? String ?? ""
let password = Defaults.value(forKey: keys.passwordKey) as? String ?? ""
let boxBoolean = Defaults.bool(forKey: keys.boxBool)
emailTextField.text = email
passwordTextField.text = password
box1.on = boxBoolean
}
Я думаю, что проблема с boxBoolean.потому что я верю, что boxBoolean больше не вызывает данные.
Thnx.