首页 > 解决方案 > 在类中使用协议函数

问题描述

在这里学习协议,我想知道为什么该代码不打印。提前致谢。

import Foundation

protocol PrintSomething {
    func printMyname(name: String)
}

class Display {
    var myProtocol: PrintSomething?

    func somethingToDisplay() {
        myProtocol?.printMyname(name: "Ygor")
    }
}

let display = Display()

display.somethingToDisplay()

标签: swift

解决方案


您可以使用如下代码

protocol PrintSomething {
    //declaration
    func printMyname(name: String)
}

class Display: PrintSomething {
    //defination
    func printMyname(name: String) {
        print(name)
    }


     var myProtocol: PrintSomething?

    func somethingToDisplay() {
        myProtocol?.printMyname(name: "Ygor")
    }
}

最后你可以从下面的任何地方调用它

let display = Display()

display.somethingToDisplay()

您可以在此处阅读有关协议的更多信息


推荐阅读