【发布时间】:2018-04-24 03:49:44
【问题描述】:
这不是 In Swift, how can I declare a variable of a specific type that conforms to one or more protocols? 的副本。这个问题是关于一个特定的用例,我需要一个元类型,但如何做到这一点绝对不明显。
Swift 4 允许声明一个变量,它是一个子类并且符合多个协议:
var myVariable: MyClass & MyProtocol & MySecondProtocol
我需要这样的一致性,但不是为了实例,而是为了类型本身。但是对于以下语法:
var classForCell: UICollectionViewCell.Type & AdditionalHeightable.Type
给我这个错误:
非协议、非类类型“UICollectionViewCell.Type”不能在协议约束类型中使用
如何在 Swift 4 中声明一个作为子类并符合协议的元类型?
【问题讨论】: