Сохранить строковую переменную после закрытия приложения iOS - PullRequest
0 голосов
/ 24 октября 2018
class LoginViewController: UIViewController {

       @objc func handleLogin(){
               let mainTableVC = MainTableViewController()
               mainTableVC.chipInfoString = self.chipField.text
               let navController = UINavigationController(rootViewController: mainTableVC)

               self.present(navController, animated: true, completion: {

                        })
}

class MainTableViewController: UITableViewController {

        var chipInfoString:String?

        let ref = Database.database().reference().child(chipInfoString!)
}

После входа в систему открывается MainTableViewController.Я получаю chipInfoString от LoginViewController.После закрытия приложения я хочу, чтобы значение chipInfoString (MainTableViewController) было зарегистрировано.

1 Ответ

0 голосов
/ 24 октября 2018

Я могу привести пример с UserDefaults.Имейте эти функции в классе ViewController или где они вам нужны.Для тех, кто еще не знаком, UserDefaults может хранить данные на устройстве.Это не БД, хотя ...

    override func viewDidLayoutSubviews() {
        storeValue()
    }

    override func viewWillAppear(_ animated: Bool) {
        recallValue()
    }


    func storeValue(){
        UserDefaults.standard.set(wage.text!, forKey: "wage")

        // UserDefaults.standard.synchronize() - obsolete, might need to check documentation 
    }

    func recallValue(){
        wage.text! = UserDefaults.standard.string(forKey: "wage")!

    }

При изменениях строка будет сохранена и восстановлена ​​после перезапуска приложения.Надеюсь, что это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...