您的位置:首页 > 移动开发 > Swift

Swift中按钮监听方法私有化之后崩溃解决方式

2016-07-19 23:44 459 查看
 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运行时方式来调用;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息