Существует несколько способов передачи данных из ViewController2
в другую ViewController1
Лучший способ здесь - Делегаты протокола
Пожалуйста, выполните следующие шаги для передачи данных
В вашем SecondViewController
откуда вы хотите отправить данные обратно объявите протокол вверху объявления класса
protocol SendDataBack: class {
func sendDataFromSecondVCtoFirstVC(myValue: String)
}
Теперь в class
, объявите объект вашего протокола в том же ViewController
weak var myDelegateObj: SendDataBack?
А теперь в вашем действии кнопки Добавить расход просто вызовите метод делегата
myDelegateObj?.sendDataFromSecondVCtoFirstVC(myValue: yourValue)
Теперь перейдите к первому ViewController
место, откуда вы нажали / представили SecondViewController, вы, должно быть, взяли объект SecondVC для нажатия, чтобы нажать от первого
if let secondVC = (UIStoryboard.init(name: "Main", bundle: nil)).instantiateViewController(withIdentifier: "secondVCID") as? SecondViewController {
vc?.myDelegateObj = self
self.navigationController?.pushViewController(secondVC, animated: true)
**OR**
self.present(secondVC, animated: true, completion: nil)
}
теперь в вашем FirstViewController сделайте расширение FirstViewVC
extension FirstViewController: SendDataBack {
func sendDataFromSecondVCtoFirstVC(myValue: String) {
}
}