Swift中按鈕監聽方法私有化之後崩潰解決方式
阿新 • • 發佈:2019-02-02
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "註冊", style: UIBarButtonItemStyle.Plain, target: self, action: "loginBtn")
//不將其私有化是可以正常監聽按鈕點選
func loginBtn() {
print("點選登陸,註冊按鈕")
}
----------------------帥帥的分割線------------------------------------//假如私有化,按鈕點選不能被監聽到,程式執行就會崩潰
private func loginBtn() {
print("點選登陸,註冊按鈕")
}
解決方法:
@objc private func loginBtn() {
print("點選登陸,註冊按鈕")
}
解析:由於swift是靜態型的語言,當這個方法私有化之後,這個按鈕就不能被監;OC中,有個UIController,由於是訊息迴圈機制執行addTarget這個方法的,所以可以被執行這個方法;那麼swift中怎麼解決這個問題呢? 加: @objc,讓這個方法以OC執行時方式來呼叫;