Protocol Delegate Method is not called in Swift

后端 未结 3 1255
故里飘歌
故里飘歌 2020-12-21 21:45

Protocol delegate method is not called..

First View controller code

class ViewController: UIViewController,customDelegate {

  var          


        
3条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-21 22:03

    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)
        }
    }
    

提交回复
热议问题