小编Ery*_*jur的帖子

协议实现协议的默认实现

我正在尝试创建一个由某些类实现的协议,所有这些都应该实现UIScrollViewDelegate.我想到的是我的新协议实现协议UIScrollViewDelegate.

protocol MyProtocol: UIScrollViewDelegate {
    var myVar: NSString { get }
    func myMethod()
}
Run Code Online (Sandbox Code Playgroud)

由于协议应具有其默认实现,因此我还为此协议创建了扩展.

extension MyProtocol {
    func myMethod() {
        print("I'm printing")
    }

    func scrollViewDidScroll(scrollView: UIScrollView) {
        print("I'm scrollin")
    }
}
Run Code Online (Sandbox Code Playgroud)

它编译,但不起作用.我做错了什么以及创建扩展协议的默认实现的正确方法是什么?

uiscrollviewdelegate ios swift swift-extensions swift-protocols

4
推荐指数
1
解决办法
3544
查看次数