Когда кнопка нажата, мне нужно вызвать метод из UIViewController
Один из способов: дать кнопке действие с нулевым таргетингом и реализовать действиеметод в UIViewController.Сообщение придет автоматически.
Например, мы даем кнопке действие с нулевым таргетингом:
class Dummy {
@objc func buttonPressed(_:Any) {}
}
button.addTarget(nil,
action: #selector(Dummy.buttonPressed),
for: .touchUpInside)
А в контроллере вида у нас есть:
@objc func buttonPressed(_ sender: Any) {
Это будет работать, потому что контроллер вида расположен вверх по цепочке респондента от кнопки.Это именно то, для чего нужны действия с нулевым таргетингом.
Другой способ - использовать NotificationCenter и Notification.Я думаю, что это вполне уместно и в этой ситуации.