Swift 4,2
Если в вашем приложении есть форма и вам может понадобиться разрешение
изменить в вашем приложении вы должны хранить и восстанавливать данные. Потому что ваше приложение
может перезапустить после изменения разрешения (разрешение на использование камеры для
пример).
Шаг 1: Добавьте идентификаторы восстановления к вашим UIViewController
s из Identity Inspector на вашей раскадровке.
Шаг 2: Добавьте эти методы в AppDelegate
func application(_ application: UIApplication, shouldSaveApplicationState coder: NSCoder) -> Bool {
return true
}
func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool {
return true
}
Шаг 3: Переопределите эти методы в вашем UIViewController
. Ваши данные будут храниться в методе encodeRestorableState
. И они будут восстановлены decodeRestorableState
методом.
override func encodeRestorableState(with coder: NSCoder) {
coder.encode(self.myTextField.text ?? "", forKey: "myTextFieldRestorationKey")
super.encodeRestorableState(with: coder)
}
override func decodeRestorableState(with coder: NSCoder) {
if let txt = coder.decodeObject(forKey: "myTextFieldRestorationKey") as? String { self.myTextField.text = txt }
super.decodeRestorableState(with: coder)
}