Я хочу сохранить имя пользователя, пароль и номер чипа в памяти приложения.Он хранит его в памяти прямо сейчас, но когда я открываю и закрываю приложение из фона, данные теряются.Но если я закрою приложение на странице входа в систему, данные будут потеряны, если я закрою приложение на странице MainView.Это означает, что если я закрою приложение на другой странице, кроме страницы входа в систему, данные будут удалены.Что мне делать?
Я могу запомнить или вспомнить данные пользователя с помощью Labelcheckbox.
override func viewDidLoad() {
super.viewDidLoad()
chipField.text = chipInfoString
let save = UserDefaults.standard.bool(forKey: "RememberMe")
self.circleBox.isChecked = save
self.labelcheckbox.text = UserDefaults.standard.string(forKey: "RememberMe1")
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector:#selector(setdata) , userInfo: nil, repeats: true)
rememberaction()
}
let mainTableVC = MainTableViewController()
mainTableVC.chip1InfoString = self.chipField.text
mainTableVC.emailString = self.emailField.text
mainTableVC.passwordString = self.passwordField.text
let navController = UINavigationController(rootViewController: mainTableVC)
self.present(navController, animated: true, completion: {
})
@objc func rememberaction(){
if labelcheckbox.text == "Remember" {
rememberme()
}
if labelcheckbox.text == "Don't Remember" {
deleteee((Any).self)
}
}
@objc func rememberme() {
let mail = UserDefaults.standard.string(forKey: "mail")
let password = UserDefaults.standard.string(forKey: "password")
if let x = mail {
self.emailField.text = x
}
if let y = password {
self.passwordField.text = y
}
let save3 = UserDefaults.standard.object(forKey: "chipnumber")
if let z = save3 as? String {
self.chipField.text = z
}
}
@objc func setdata()
{
if labelcheckbox.text == "Remember" {
UserDefaults.standard.set(true, forKey:"RememberMe");
UserDefaults.standard.set(labelcheckbox.text, forKey: "RememberMe1")
UserDefaults.standard.set(emailField.text, forKey: "mail")
UserDefaults.standard.set(passwordField.text, forKey: "password")
UserDefaults.standard.set(chipField.text, forKey: "chipnumber")
UserDefaults.standard.synchronize()
}
else{
if labelcheckbox.text == "Don't remember"{
UserDefaults.standard.set(false, forKey:"RememberMe");
UserDefaults.standard.set(labelcheckbox.text, forKey: "RememberMe1")
UserDefaults.standard.set(chipField.text, forKey: "chipnumber")
}
}
}
class MainTableViewController: UITableViewController, UITabBarControllerDelegate{
@objc func action(_ sender: Any){
UserDefaults.standard.set(chip1InfoString, forKey: "chipnumber")
UserDefaults.standard.set(emailString, forKey: "email")
UserDefaults.standard.set(passwordString, forKey: "password")
UserDefaults.standard.synchronize()
}
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
self.action((Any).self)
})