技巧:
在Swift中,我们可以通过 字符串赋值
的方式完成Selector的创建。原因在于Selector类型实现了StringLiteralConvertible方法。
注意:
selector 其实是 Objective-C runtime 的概念,如果你的 selector 对应的方法只在 Swift 中可见的话 (也就是说它是一个 Swift 中的 private 方法),在调用这个 selector 时你会遇到一个 unrecognized selector 错误
“正确的做法是在 private 前面加上 @objc 关键字,这样运行时就能找到对应的方法了。”
约定:
“如果方法的第一个参数有外部变量的话,在通过字符串生成 Selector 时还有一个约定,那就是在方法名和第一个外部参数之间加上 with:”
栗子(^_^):func aMethod(external paramName: AnyObject!){…} 想获取对应的selector,应该这么写 let s = Selector(“aMethodWithExternal”)
原文地址:https://www.jb51.cc/swift/327197.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。