Как перейти на предыдущий экран с помощью Swift без потери данных в Swift 4 - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть кнопка со страницы создания учетной записи, которая открывает другой контроллер представления, в котором есть некоторая информация.я перемещаю его, выполняя переход:

self.performSegue(withIdentifier: "sugueToRules", sender: self)

на другом моем Viewcontrollerвернуться назад Я теряю все свои данные, которые я положил в учетную запись создания, поэтому я должен открыть новый экземпляр.

как мне сохранить все свои данные, когда я вернусь?Должен ли я сохранить локальный файл где-нибудь и загрузить его, когда я вернусь?

Я использую swift 4

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

Передача перехода к предыдущему экрану создаст новый экземпляр предыдущего viewcontroller.Лучше быть связанным в навигационном контроллере и выдвигать представленный экран, когда обратная навигация не требуется.

self.navigationController?.popViewController(animated: true)
self.dismiss(animated: true, completion: nil)
0 голосов
/ 22 ноября 2018

вам нужно использовать UINavigationController для навигации, например, UIViewController -

enter image description here

0 голосов
/ 22 ноября 2018

Убедитесь, что ими управляет UINavigationController.Тогда кнопка «Назад» отлично справится со своей задачей (вам не нужно «связывать» что-либо - это поведение по умолчанию).Сейчас кажется, что вы выделяете новый контроллер каждый раз, когда возвращаетесь.

То же самое относится к модально представленному контроллеру (например, с настраиваемой кнопкой закрытия), хотя вы должны отклонить (или использовать выходную последовательность) вместо того, чтобы запускать переход, указывающий назад.

...