Protocol delegate method is not called..
First View controller code
class ViewController: UIViewController,customDelegate {
var
First View Controller
import UIKit
class ViewController: UIViewController, SecondVCDelegate {
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let secondVC = segue.destination as? SecondViewController {
secondVC.delegate = self
}
}
func didSelectData(_ result: String) {
label.text = result
print(result)
}
}
Second View Controller
import UIKit
protocol SecondVCDelegate: class {
func didSelectData(_ result: String)
}
class SecondViewController: UIViewController {
@IBOutlet weak var button: UIButton!
weak var delegate: SecondVCDelegate?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func buttonTapped(_ sender: UIButton) {
delegate?.didSelectData("My result")
dismiss(animated: true, completion: nil)
}
}