2017-02-19 21 views
0

這是我的代碼。每次點擊addButton時,我都會收到一個無法識別的選擇器發送到實例崩潰/錯誤。我找了一個答案的過去一小時,找不到一個答案。請幫忙。添加目標時發生快捷錯誤

@IBOutlet var addButton: UIButton! 
@IBOutlet var resetButton: UIButton! 

var number:Int = 0 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let size: CGSize = self.view.frame.size; 

    countLabel.frame = CGRect(x: 0, y:0, width: size.width, height: size.height/4) 
    minusButton.frame = CGRect(x:0, y: size.height/4, width: size.width/2, height: size.height/8); 
    addButton.frame = CGRect(x:0, y:size.height/4 + size.height/8, width: size.width, height: 5*size.height/8) 
    resetButton.frame = CGRect(x:size.width/2, y: size.height/4, width: size.width/2 ,height: size.height/8) 

    addButton.addTarget(self, action: #selector(addNumber(sender:)), for: UIControlEvents.touchUpInside) 
    minusButton.addTarget(self, action: #selector(minusNumber), for: UIControlEvents.touchUpInside) 
    resetButton.addTarget(self, action: #selector(resetNumber), for: UIControlEvents.touchUpInside) 

} 

func addNumber(sender: UIButton!) { 
    number = number + 1 
    countLabel.text = String(number) 
} 
+3

[編輯]用完整的錯誤消息你的問題。 – rmaddy

回答

0

變化

addButton.addTarget(self, action: #selector(addNumber(sender:)), for: UIControlEvents.touchUpInside) 

隨着

addButton.addTarget(self, action: #selector(addNumber), for: UIControlEvents.touchUpInside) 
0

你並不需要在選擇發件人。 所以你需要改變你的代碼爲

addButton.addTarget(self, action: #selector(addNumber), for: .touchUpInside)

而且你不必暗示解開發件人

func addNumber(sender: UIButton)

0

添加選擇聲明之前@objc關鍵字:

@objc func addNumber(sender: UIButton!) { 
    number = number + 1 
    countLabel.text = String(number) 
}