Swift UIBarButtonItem放松到前一个控制器 - 不工作

时间:2018-03-25 17:25:12

标签: ios swift uibarbuttonitem

我有两个控制器ViewControllerClassMapViewController。在ClassMapViewController中,我有一个UIBarButtonItem,点击后会关闭ClassMapViewController并返回ViewController

import UIKit     
class ViewController: UIViewController { 
    @IBAction func unwindToHome(segue: UIStoryboardSegue) {
    }   
}

ClassMapViewController:UIViewController{
    var mapView:MapClass=MapClass()
    override func viewDidLoad(){
        super.viewDidLoad()
        mapView.latitude=43.679456
        mapView.longitude=-79.624712
        mapView.title="HelloWorld"
        mapView.address="firstmarker"
        mapView.zoom=12
        view=mapView.getView()
        navigationItem.leftBarButtonItem=UIBarButtonItem(title:"Back",style:.plain,target:self,action:"previous")
    }

    func previous(){
        present(ViewController(),animated:true,completion:nil)
        dismiss(animated:true,completion:nil)
    }
}

1 个答案:

答案 0 :(得分:0)

在我的脑海中,我相信你在参数列表中缺少 #selector

navigationItem.leftBarButtonItem=UIBarButtonItem(
    title: "Back", 
    style: .plain,
    target: self, 
    action: #selector(previous)
)

你需要在你正在调用的函数上使用 @objc 修饰符,但是,我也不认为你可以调用ViewController,就像你在下面的now()方法中那样 - 你和#39; d需要提供对VC的实际参考。

@objc func previous() {
    present(ViewController(),animated:true,completion:nil)
    dismiss(animated:true,completion:nil)
}