SWIFT: No idea how to get back the selected value from a popover to the calling controller

夙愿已清 提交于 2019-12-05 18:45:15

I made quick example, hope it helps:

// This is you popover's class

@objc protocol CurrencySelectedDelegate {
    func currencySelected(currName: String)
}

class MyPopOverController: UIViewController {


    weak var delegate: CurrencySelectedDelegate?


    @IBAction func readyButtonPressed(sender: AnyObject) {

    // Do what you want

    delegate?.currencySelected("Euro/Dollar etc....")

    // close popover
    }
}

// ViewController
class ViewController: UIViewController, CurrencySelectedDelegate {

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "mySegue" { // your identifier here
            let controller = segue.destinationViewController as! MyPopOverController
            controller.delegate = self
        }
    }

}

And remember just declare that currencySelected function in your ViewController.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!