Swift 3必看:#selector获取属性的getter和setter方法

在swift中如果要获取一个方法的selector用#selector()实现。我们也知道OC中的属性其实是自动生成了getter和setter方法。 swift 3中支持获取属性的getter和setter方法。语法就是:#selector(getter: keypath )#selector(setter: keypath )。示例如下:

class Person: NSObject {
    dynamic var firstName: String
    dynamic let lastName: String
    dynamic var fullName: String {
        return "\(firstName) \(lastName)"
    }

    init(firstName: String, lastName: String) {
        self.firstName = firstName
        self.lastName = lastName
    }
}

let firstNameGetter = #selector(getter: Person.firstName)
let firstNameSetter = #selector(setter: Person.firstName)复制代码

这两个方法和OC中的签名一致。set方法签名就是setFirstName:。 然后就可以正常使用了:

欢迎关注我的微博:@没故事的卓同学

相关链接:

SE0064-Referencing the Objective-C selector of property getters and setters

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值