美文网首页
swift之@objc

swift之@objc

作者: 萧哒哒 | 来源:发表于2020-11-20 10:27 被阅读0次

1.selector调用的方法前需要加@objc,目的是允许函数在“运行时”通过oc消息机制调用

overridefuncviewDidLoad(){super.viewDidLoad()letbtn=UIButton(type:.contactAdd)btn.addTarget(self,action:#selector(click),for:.touchUpInside)}@objcfuncclick(){print("Button clicked")}

2.协议的方法可选时,协议和可选方法前要用@objc声明

@objcprotocolOptionalProtocol{@objcoptionalfuncoptionalMethold1()@objcoptionalfuncoptionalMethold2()}

3.用weak修饰协议时,协议前面要用@objc声明

@objcprotocolMyDelegate{funcmethold1()}classMyClass{weakvardelegate:MyDelegate?}

4.类前加上 @objcMembers,那么它及其子类、扩展里的方法都会隐式的加上 @objc

@objcMembersclassPerson{}

5.扩展前加上 @objc,那么里面的方法都会隐式加上 @objc

classPerson{funcwork(){}}@objcextensionPerson{funceat(){}//包含隐式的 @objcfuncsleep(){}//包含隐式的 @objc}

相关文章

  • swift之@objc

    1.selector调用的方法前需要加@objc,目的是允许函数在“运行时”通过oc消息机制调用 override...

  • Notification和KVO

    Notification KVO objc swift

  • swift 应用

    //swift 暴露 objc 调用 //swift 调用 objc //自定义表达式模式 (重载运算符 ~=,自...

  • swift 可选协议

    前言 swift 协议 swift可选协议 协议前添加 @objc ,把你想要改成的可选协议前添加 @objc ...

  • Swift3.0项目迁移到4.0

    关于@objc警告 Xcode提示:The use of Swift 3 @objc inference in S...

  • Swift中@objc的使用

    Swift中@objc的使用 在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用...

  • Swift3 迁移至 Swift4遇到的问题

    1.The use of Swift 3 @objc inference in Swift 4 mode is d...

  • swift —— tips swift 中的懒加载实现

    objc objc 对象的懒加载 swift swift 的懒加载 方式 1lazy 保证数据在用到的时候才会被加...

  • ObjC和Swift相互调用

    Swift调用 Objc 1、在Swift项目中添加ObjC文件(新建文件语言选择Object-C即可) 这时Xc...

  • Swift中使用KVC

    在swift中使用KVC方法1、给变量添加@objc标签,swift4.0以后,可以不声明@objc2、重写下面方...

网友评论

      本文标题:swift之@objc

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