objective-c – Swift 3 – 动态vs @objc
将方法标记为@objc与动态之间有什么区别?什么时候做一个vs另一个?
以下是Apple的动态定义.
解决方法
声明为@objc的函数/变量可从Objective-C访问,但
Swift将通过静态或虚拟调度继续访问它.
这意味着如果函数/变量通过Objective-C框架旋转,就像使用键值观察或各种Objective-C API修改类时会发生什么,调用Swift和Objective-C的方法会产生不同的结果. 使用动态告诉Swift总是引用Objective-C动态调度.这是像键值观察这样的工作所必需的.当Swift函数被调用时,它指的是Objective-C运行时以动态调度调用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |