swift - 在类中使用协议函数
问题描述
在这里学习协议,我想知道为什么该代码不打印。提前致谢。
import Foundation
protocol PrintSomething {
func printMyname(name: String)
}
class Display {
var myProtocol: PrintSomething?
func somethingToDisplay() {
myProtocol?.printMyname(name: "Ygor")
}
}
let display = Display()
display.somethingToDisplay()
解决方案
您可以使用如下代码
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()
您可以在此处阅读有关协议的更多信息
推荐阅读
- snowflake-cloud-data-platform - 雪花 - 任务未运行
- xml - 从 CSV 传递 xpath 以用 Powershell 替换 XML 中的值
- c++ - 在 std::vector 中存储分配的结构(使用“struct hack”)
- java - Thymeleaf silently fails when no value provided
- python - 在这种情况下,避免混淆循环的最佳方法是什么?
- c# - Unknown build error, mapping URI is not valid
- python - 将给定 URL 的 Jpeg 图像下载到 numpy 数组中
- javascript - 是否可以将文件从浏览器(角度应用程序)拖放到 Outlook 作为附件
- database - 包含来自另一个电子表格的数据的弹出窗口
- postgresql - 如何在 Azure PostgreSQL 上编辑 postgresql.conf?