Храните имя пользователя и пароль в UserDefaults - PullRequest
0 голосов
/ 29 марта 2019

Я хочу сохранить имя пользователя, пароль и номер чипа в памяти приложения.Он хранит его в памяти прямо сейчас, но когда я открываю и закрываю приложение из фона, данные теряются.Но если я закрою приложение на странице входа в систему, данные будут потеряны, если я закрою приложение на странице 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)
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...