为什么总是在Swift协议中使用static关键字前缀类型属性要求?

时间:2015-07-04 04:32:28

标签: swift protocols

Swift编程语言一书的第369页上,它表示“在协议中定义静态关键字时,始终使用static关键字输入类型属性要求。” < / p>

示例代码:

protocol AnotherProtocol {
    static var someTypeProperty: Int { get set }
}

这样做的原因或好处是什么?

1 个答案:

答案 0 :(得分:4)

因为没有static关键字,您最终会声明实例属性而不是类型属性。紧接在您引用的段落之后的示例显示了这一点:

  

以下是具有单实例属性要求的协议示例:

protocol FullyNamed {
    var fullName: String { get }
}