加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift学习之每日一tip (1)Selector

发布时间:2020-12-14 02:13:14 所属栏目:百科 来源:网络整理
导读:技巧: 在Swift中,我们可以通过 字符串赋值 的方式完成Selector的创建。原因在于Selector类型实现了StringLiteralConvertible方法。 注意: selector 其实是 Objective-C runtime 的概念,如果你的 selector 对应的方法只在 Swift 中可见的话 (也就是说它是

技巧:

在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”)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读