Как передать данные обратно после seque?

Всем привет!

[тут идет стандартное вступление про новичка, изучающего swift 3...]

Есть два ViewController: основное окно, и Popover окно. Как передать данные в Popover окно понятно, через Seque. Но как потом передать данные обратно, при закрытии окна?

Например, на основной окне программы есть NSTextField и кнопка. По нажатию кнопки показывается popover, где мы в другой NSTextField вносим какое-то значение. Так вот как при закрытии окна передать это значение в первый NSTextField?

Заранее благодарен!
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Demetriy
@Demetriy
веб и мобильная разработка
Поищите в гугле "delegate", если кратко, то создаете протокол, в котором прописываете методы, сохранающие данные в классе-родителе, затем добавляете переменную в дочерний класс (поповер) и при его закрытии через эту переменную обращаетесь к классу-родителю.
Псевдокод:

protocol DataSaver {
func savePopoverData(myData);
}

class Parent : DataSaver {
myData: [Int];

func savePopoverData(myData) {
self.myData = myData;
}
}

class Popover {
delegate: DataSaver;

func onClose() {
self.delegate.savePopoverData(myData);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы