Swift: Swift中Selector的变化

Posted 程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift: Swift中Selector的变化相关的知识,希望对你有一定的参考价值。

Swift中Selector变化

 

2.2 之前,使用字符串作为方法名称

//无参数
btn.addTarget(self, action: Selector("buttonPress") , forControlEvents: .TouchUpInside)

//有参数
btn.addTarget(self, action: Selector("buttonPress:") , forControlEvents: .TouchUpInside)

 

2.2~3.0期间

//无参数:
btn.addTarget(self, action: #selector(buttonPress), forControlEvents: .TouchUpInside)

//有参数(参数的名称使用下划线“_”,实现事件时,参数名称可以任意设置)
btn.addTarget(self, action: #selector(buttonPress(_:)), forControlEvents: .TouchUpInside) 

 

3.0变化

//无参数
btn.addTarget(self, action: #selector(buttonPress), for: .touchUpInside)

//有参数(参数的名称必须具体给出,而且实现事件时,参数名称保持一致)
btn.addTarget(self, action: #selector(buttonPress(sender:)), for: .touchUpInside)

 

以上是关于Swift: Swift中Selector的变化的主要内容,如果未能解决你的问题,请参考以下文章

swift 使用Selector swift传递值

Swift 中的外观代理/UI_APPEARANCE_SELECTOR?

NotificationCenter Selector 方法未在 Swift 中调用

有没有办法在 Swift 中使用#selector 调用带参数的函数

如何使用 Swift #selector 语法解决“歧义使用”编译错误?

Swift addTarget中的Selector