Переопределите функцию dismiss в ваших настройках View Controller и напишите делегата для отправки действия перезагрузки. Назначьте делегата контроллеру представления, которому вы хотите отправить информацию о перезагрузке.
protocol MyViewControllerDelegate: class {
func myViewControllerDidDismiss()
}
class MyViewController: UIViewController {
weak var delegate: MyViewControllerDelegate?
override func dismiss(animated flag: Bool, completion: (() -> Void)? = nil) {
self.delegate?.myViewControllerDidDismiss()
super.dismiss(animated: flag, completion: completion)
}
}
Другим способом является создание протокола и переопределение viewDidDisappear и отправка метода делегата, когда контроллер представления настроек выполняет viewDidDisappear. Не стесняйтесь!