美文网首页selector
@objc、dynamic关键字

@objc、dynamic关键字

作者: FallPine | 来源:发表于2018-09-14 17:35 被阅读64次
  • @objc

OC 是基于运行时,遵循了 KVC 和动态派发,而 Swift 为了追求性能,在编译时就已经确定,而不需要在运行时的,在 Swift 类型文件中,为了解决这个问题,需要暴露给 OC 使用的任何地方(类,属性,方法等)的生命前面加上 @objc 修饰符
如果用 Swift 写的 class 是继承 NSObject 的话, Swift 会默认自动为所有非 private 的类和成员加上@objc

在Swift中,我们在给button添加点击事件时,对应的点击事件的触发方法就需要用@objc来修饰

  • dynamic

如果需要和 OC 里动态调用相同的运行特性的话,需要使用的修饰符是 dynamic

在Swift中,要是想KVO来监听属性的话,该属性必须用@objc和dynamic来修饰

参考文章:@objc 和 dynamic

相关文章

网友评论

    本文标题:@objc、dynamic关键字

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