title: Delegate without performSegue not getting called Swift 5
body: <p>My protocol (where "VehicleRegVCs" is enum):</p>
  
  <pre><code>protocol VehicleRegVCDelegate: class {
          func presentedVC(_ currentVC: VehicleRegVCs)
      }
  </code></pre>
  
  <p>My Buyer Class:</p>
  
  <pre><code>class BuyerOwnerInfoViewController: UIViewController {
  
      weak var delegate: VehicleRegVCDelegate?
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          delegate?.presentedVC(.buyerOwnerInfo)
      }
  }
  </code></pre>
  
  <p>My Main class (where delegate function "func presentedVC" at the bottom not getting called):</p>
  
  <pre><code>class VehicleRegContainerViewController: ICTViewController {
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          setupView()
      }
  
      func setupView() {
          let buyerVC = getBuyerOwnerInfoVC()
          buyerVC.delegate = self
      }
  }
  
  extension VehicleRegContainerViewController: VehicleRegVCDelegate {
      func presentedVC(_ currentVC: VehicleRegVCs) {
  
      }
  }
  
  </code></pre>
  
  <p>I expect "presentedVC" to get called... I made a delegate too... </p>
  
  <p>and in UIViewController extension i have made this function...</p>
  
  <pre><code>    func getBuyerOwnerInfoVC() -&gt; BuyerOwnerInfoViewController {
          let vc = UIStoryboard.exciseAndTaxation.instantiateViewController(withIdentifier: "BuyerOwnerInfoViewController") as! BuyerOwnerInfoViewController
          return vc
      }
  </code></pre>