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运行时方式来调用;
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运行时方式来调用;
相关文章推荐
- Ruby 之 class 中的 private、 protected、public
- Ruby定义私有方法(private)的两种办法
- php类中private属性继承问题分析
- Ruby中的public、private、protected区别小结
- java中利用反射调用另一类的private方法的简单实例
- JavaScript的public、private和privileged模式
- 构造函数定义为private或者protected的好处
- 简单谈谈Ruby的private和protected
- android private libraries 中的包源代码添加方法
- 反射调用private方法实践(php、java)
- java反射_改变private中的变量及方法的简单实例
- Java中的private修饰符失效了?
- C++中的三种继承public,protected,private详细解析
- 深入理解C++中public、protected及private用法
- C++中 public和private派生类继承问题和访问权限问题
- Java SE02 Java语言基础:关键字,标识符,注释
- java中set和get方法的理解
- session 存取对象
- Android开机广播android.intent.action.BOOT_COMPLETED
- Hibernate学习