Вы делегировали неправильную функцию, функция внутри функции в SearchResultViewController
:
func popupValueSelected(value: String) {
func popupValueSelected(value: String) {
print("value: ", value)
self.errorLable.text = value
}
}
Должно быть:
func popupValueSelected(value: String) {
print("value: ", value)
self.errorLable.text = value
}
После редактирования вопроса:
Вы никогда не назначали ни одного экземпляра для переменной делегата.Try to change delegate variable name to popoUpDelegate.
pop.delegate
для UIPopoverPresentationControllerDelegate
, а не для вашего делегата.Эта функция должна выглядеть следующим образом:
if (segue.identifier == "pop") {
if let dest = segue.destination.popoverPresentationController as? SearchPopoverViewController {
dest.preferredContentSize = CGSize(width: self.view.frame.size.height - 20, height: 500)
dest.popoUpDelegate = self
}
}
}
А ваши SearchPopoverViewController
выглядят так:
class SearchPopoverViewController: UIViewController {
@IBOutlet var cityLable: UILabel!
var popoUpDelegate: PopoupDelegate?
@IBAction func closeButtonAction(_ sender: Any) {
self.popoUpDelegate?.popupValueSelected(value: "hiiiiii from the other side")
self.dismiss(animated: false, completion: nil)
}
}