Как избежать отслеживания вызовов делегатов в стеке навигации? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть результат поиска в представлении А. У меня есть параметры фильтра в результатах поиска. Когда suer нажимает на представление фильтра A, он выводит его на представление B, в котором перечислены все параметры фильтра. Нажав на фильтры на B, вы перейдете к View C, который показывает выбор для каждого фильтра. Когда пользователь выбирает фильтры в представлении C, я хочу передать его обратно в A, чтобы при возвращении пользователя в представление A после выбора фильтров данные результатов в A обновлялись после применения выбранного фильтра.

Как сделать это любым другим простым способом?

1 Ответ

0 голосов
/ 02 мая 2020

Есть много способов. Я поделюсь самым простым. Создайте модальную структуру, обновите ее значение в контроллере представления C, а затем используйте его в A.

 struct StudentData { 
    static var name = ""
    static var address = ""
 }

В View Controller C обновите значения

StudentData.name = "your name" 
StudentData.address = "your address"

In Контроллер представления A,

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    nameField.text = StudentData.name
    addressField.text = StudentData.address
}
...