Как обновить данные во ViewController’е после dismiss() во всплывающем?

Чтобы обновить данные в ViewController, после его закрытия всплывающего окна, можно использовать различные подходы и паттерны программирования. Вот несколько вариантов:

1. Передача данных обратно через делегирующий паттерн:
- Создайте протокол делегата всплывающего окна со связанными методами для передачи данных.
- Создайте свойство делегата во всплывающем окне.
- При закрытии всплывающего окна вызовите соответствующий метод делегата и передайте необходимые данные.
- В ViewController, который вызвал всплывающее окно, реализуйте протокол делегата и обновите данные в соответствии с переданными значениями.

2. Использование замыканий (closures):
- Во всплывающем окне создайте свойство замыкания, которое принимает необходимые данные в качестве параметров.
- При закрытии всплывающего окна вызовите заданное замыкание и передайте ему необходимые данные.
- В ViewController определите замыкание и обновите данные в соответствии с переданными значениями.

3. Использование наблюдателей (observers):
- Создайте наблюдаемое свойство во всплывающем окне.
- В ViewController подпишитесь на изменения этого наблюдаемого свойства.
- При закрытии всплывающего окна измените значение наблюдаемого свойства, чтобы вызвать соответствующий наблюдатель в ViewController, и передайте необходимые данные.
- Внутри наблюдателя обновите данные в соответствии с переданными значениями.

4. Использование unwind сегвеев:
- Создайте метод @IBAction в ViewController, который будет принимать данные в качестве параметров.
- В всплывающем окне создайте сегвей типа unwind, который будет вызывать созданное ранее действие.
- Перед закрытием всплывающего окна установите необходимые значения для параметров сегвея.
- При закрытии всплывающего окна вызовите сегвей, чтобы данные были переданы обратно в ViewController.
- В методе @IBAction обновите данные в соответствии с переданными значениями.

Способ выбора зависит от сложности вашего приложения и предпочтений разработчика. Выберите наиболее подходящий вариант для вашей ситуации и реализуйте его в соответствии с требованиями вашего проекта.