类和协议的 Swift 类型别名

Jac*_*ker 5 types swift

我有一个必须是UIView也实现协议的变量MTMathKeyboard

我试过了,

var keyboard: (UIView & MTMathKeyboard)
var keyboard: UIView<MTMathKeyboard>
Run Code Online (Sandbox Code Playgroud)

实现协议的非泛型类实例的语法是什么?

Jer*_*ker 6

在 Swift 4 中,您可以使用:

let keyboard: UIView & MTMathKeyboard
Run Code Online (Sandbox Code Playgroud)


Grz*_*ski 3

我认为你应该走这条路:

protocol MTMathKeyboard: class {

}

class YourClass<MTMathKeyboard where T:UIView> {
    var keyboard: T!
}
Run Code Online (Sandbox Code Playgroud)