在Swift中点击UIBarButtonItem时应用程序崩溃

时间:2014-08-19 03:06:20

标签: swift

提前感谢任何帮助我的人(这是我的第一个StackOverflow问题!)

无论如何,我在Xcode 6 beta 6中玩Swift,我不能为我的生活弄清楚如何让我的UIBarButtonItem的动作正确启动。当我点击按钮时,我遇到了崩溃,控制台吐出一个无法识别的选择器错误。我确定我做的事情非常愚蠢,但这是我正在尝试的代码:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
       //
        let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "buttonTapped")



        self.title = "A Swift Application"
        self.navigationItem.rightBarButtonItem = button
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

func buttonTapped(sender: UIBarButtonItem) {
    println("Tapped")
}

我已尝试在按钮初始化语句的action参数末尾添加冒号。再次感谢提前帮助我的人!

1 个答案:

答案 0 :(得分:0)

您的按钮声明应如下所示:

let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "buttonTapped:")

也就是说,你的action参数之后应该有一个冒号,因为你的buttonTapped函数有一个参数。如果你的buttonTapped()函数看起来像这样:

func buttonTapped(){}

然后它会起作用。