与this question的精神相似,除了不仅仅将类限制为类,我希望能够定义一个只能由枚举,结构等采用的协议。这可能吗?< / p>
答案 0 :(得分:6)
我无法找到答案,但通过玩游戏,我得出的结论是你无法做到。为了将协议限制为仅仅是类,您可以在class
之前加上
protocol SomeProto: class {
func structYourStuff() -> Void
}
假设这在其他类型中是一致的,我试过
protocol SomeProto: struct {
func structYourStuff() -> Void
}
但Xcode在一行上给了我五个不同的错误,这让我得出结论,你不能。我可能完全错了,我一周前才开始学习Swift