swift之@objc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift之@objc相关的知识,希望对你有一定的参考价值。

参考技术A 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声明

@objcprotocolMyDelegatefuncmethold1()classMyClassweakvardelegate:MyDelegate?

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

@objcMembersclassPerson

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

classPersonfuncwork()@objcextensionPersonfunceat()//包含隐式的 @objcfuncsleep()//包含隐式的 @objc

swift Swift - 使用@objc推理弃用警告

Target > Build Settings > search for @objc 
Swift Compiler Code Generation - set Swift 3 @obj inference to Default

以上是关于swift之@objc的主要内容,如果未能解决你的问题,请参考以下文章

44-Swift 之 JSONSerialization

Swift开发之初识

Swift之some

swift之OC与Swift混编

《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:

Swift之字符串(String)