У меня есть два, UITableViewControllers
и мне нужно передать значение от дочернего контроллера представления к родителю с помощью делегата. Я знаю, что такое делегаты, и просто хотел увидеть простой пример для подражания.
Спасибо
У меня есть два, UITableViewControllers
и мне нужно передать значение от дочернего контроллера представления к родителю с помощью делегата. Я знаю, что такое делегаты, и просто хотел увидеть простой пример для подражания.
Спасибо
Ответы:
Простой пример ...
Допустим, у дочернего контроллера представления есть,
UISlider
и мы хотим передать значение ползунка родителю через делегата.В заголовочном файле контроллера дочернего представления объявите тип делегата и его методы:
ChildViewController.h
В реализации контроллера дочернего представления вызовите методы делегата как требуется.
ChildViewController.m
В заголовочном файле контроллера родительского представления объявите, что он реализует
ChildViewControllerDelegate
протокол.RootViewController.h
В реализации родительского контроллера представления реализуйте методы делегата соответственно.
RootViewController.m
Надеюсь это поможет!
источник
detailViewController.delegate = self;
(это в-tableView:didSelectRowAtIndexPath:
приведенном фрагменте кода.Приведенный ниже код просто показывает базовое использование концепции делегата. Вы называете переменную и класс в соответствии с вашими требованиями.
Сначала вам нужно объявить протокол:
Давайте назовем это MyFirstControllerDelegate.h
Импортируйте файл MyFirstControllerDelegate.h и подтвердите свой FirstController с протоколом MyFirstControllerDelegate
В файле реализации вам необходимо реализовать обе функции протокола:
в вашем втором контроллере :
В файле реализации SecondController .
Вот вики статья о делегате.
источник
Следующее решение является очень простым и простым подходом для отправки данных из VC2 в VC1 с использованием делегата.
PS: это решение сделано в Xcode 9.X и Swift 4
Объявил протокол и создал делегат var в ViewControllerB
ViewControllerA подтверждает протокол и ожидает получения данных через метод делегата sendData
источник
Вам нужно использовать делегатов и протоколы. Вот сайт с примером http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html
источник