swift中protocol的extension中使用#sele

2021-05-06  本文已影响0人  梁森的简书

协议扩展

extension AYActionSheetViewProtocol where Self: UIView

不能在上面这样的协议扩展中直接使用#selector,协议扩展对于OC是看不见的。


0.@objc+protocol extension.jpg

其中有个报错:

@objc can only be used with members of classes, @objc protocols, and concrete extensions of classes

@objc只能与类的成员、@objc协议和类的具体扩展一起使用

在@objc协议中使用@objc

@objc protocol AYActionSheetViewProtocol {
    /// 点击半透明背景图
    @objc func tapBackView(tap: UITapGestureRecognizer)
}

协议中tapBackView的具体实现要在遵守了该协议的遵守者中实现。

上一篇下一篇

猜你喜欢

热点阅读