如何将协议限制为值类型?

时间:2015-11-10 04:51:10

标签: swift swift2

this question的精神相似,除了不仅仅将类限制为类,我希望能够定义一个只能由枚举,结构等采用的协议。这可能吗?< / p>

1 个答案:

答案 0 :(得分:6)

我无法找到答案,但通过玩游戏,我得出的结论是你无法做到。为了将协议限制为仅仅是类,您可以在class之前加上

protocol SomeProto: class {
    func structYourStuff() -> Void
}

假设这在其他类型中是一致的,我试过

protocol SomeProto: struct {
    func structYourStuff() -> Void
}

但Xcode在一行上给了我五个不同的错误,这让我得出结论,你不能。我可能完全错了,我一周前才开始学习Swift