Swift 如何使用Selector
来源:互联网 发布:网络广告费用预算 编辑:程序博客网 时间:2024/06/14 04:00
Swift语言不使用Selector,在Swift里面使用可选链式替换respondsToSelector:来替换Selector,不要使用performSelector,因为它是不安全的;
当使用ObjC的api时,或者其它需要使用到Selector的地方,你可以用string来代表一个Selector;
button.addTarget(self, action: "buttonTapped:", forControlEvents: .TouchUpInside)
func buttonTapped(id:UIButton){}
ObjC里面的SEL类型对应Swift里面的Selector,Selector可以自动从一个string字符串创建出来,所以你不需要使用Selector(“string”)或者NSSelectorFromString(“string”)。
因为Selector是ObjC对象,所以遵循ObjC的命名规则:当一个方法有需要一个参数时,selector就添加一个分号(“:”),例如func test()对应”test”,而func test(age:Int, name:String)对应“test:name:”
如果一个方法被selector所使用到,则这个方法必须暴露给ObjC运行时,如果方法所属的类继承自NSObject,则不需要额外标注,因为它已经是ObjC运行时了,但如果是纯Swift类,就需要给方法添加一个@objc标注。注意:private方法不会暴露给runtime,所以你的方法的可见性至少是internal。
来源: http://stackoverflow.com/questions/24007650/selector-in-swift
0 0
- Swift 如何使用Selector
- swift 中如何使用selector
- 如何在Swift中使用SELECTOR
- Swift中如何传递Selector参数
- Swift Selector
- swift中的selector
- Swift入坑--@selector
- swift 中的 Selector 类型
- Selector使用
- swift学习记录(selector)
- swift selector 按钮点击事件
- Swift中Selector的用法
- Swift-Selector方法的扩展
- Andorid tint属性及如何使用tint实现Selector效果
- 关于 selector:@selector() 如何传参
- 如何在 Swift 项目中使用 CocoaPods
- 如何在Swift中使用NSError
- 如何在Swift 中使用AFNetworking
- Oracle分组后计数
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- 搜索旋转排序数组 II
- 网关 路由 实例
- vs2010+vtk源码编译,工程配置[转载]
- Swift 如何使用Selector
- S-35392A时钟芯片移植
- 不要把 ViewController 变成处理 tableView 的"垃圾桶"
- 全景图片相关
- 标准MDL方法修改Page、NonPage内存的属性
- maven multipart project manage
- 位域的定义和使用 C Bit Fields
- Linux ALSA声卡驱动之七:ASoC架构中的Codec
- mybatis 注解