特定类的 Swift 协议(protocol)

标签 swift protocols

我想定义一个符合P1UIViewController类型的变量。

问题:

  • 我应该修改协议(protocol)还是 v1 类型?
  • 我应该怎么做?

代码:

protocol P1 {

    func f1();
}


var v1 : P1 //But needs to be a UIViewController which conforms to `P1`

最佳答案

在 Swift 4 中,你可以使用新的 & 符号来创建一个符合协议(protocol)和类的变量,语法如下:

let vc: UIViewController & P1

关于特定类的 Swift 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452785/

相关文章:

ios - 在编辑 UITextView 和触摸 TableView Controller 中键盘以外的任何地方时无法关闭键盘

ios - Facebook all_mutual_friends 不工作

swift - 关联类型的类型推断在子协议(protocol)中不起作用

Python Twisted 协议(protocol)取消注册?

protocols - 如何避免协议(protocol)的透析器错误?

swift - UIActivityViewControllerCompletionWithItemsHandler 新更新 swift 出错

ios - 从选择的 UISegmentedControl 段中获取字符串值

swift - 如何快速从闭包中获取数据

android - 与 MIFARE Plus SL3 通信(命令)

Objective-C "private"协议(protocol)?