美文网首页ReportsiOS开发资源Swift
Swift 3必看:#selector获取属性的getter和s

Swift 3必看:#selector获取属性的getter和s

作者: 没故事的卓同学 | 来源:发表于2016-09-14 21:55 被阅读1680次

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

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方法签名就是<code>setFirstName:</code>。
然后就可以正常使用了:

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

相关链接:
SE0064-Referencing the Objective-C selector of property getters and setters

相关文章

网友评论

本文标题:Swift 3必看:#selector获取属性的getter和s

本文链接:https://www.haomeiwen.com/subject/gliyettx.html