Swift:使用没有值的getter

时间:2018-03-05 17:38:49

标签: swift

使用没有价值的吸气剂有什么好处。例如:

protocol xyz:Class{
 var uuid:UUID{get}
}

我真的很感激你的想法。

1 个答案:

答案 0 :(得分:4)

您问题中的代码是声明协议。协议基本上是一个合同。它没有提供任何功能。

您的协议的合同规定,无论符合协议的是什么,都必须至少为名为uuid且类型为UUID的变量提供getter。

协议本身不提供getter,因此它不返回值。符合协议的类/ struct / enum将提供getter的值。同样的类/结构/枚举也可以(如果需要)为uuid变量提供一个setter。该协议仅声明必须有一个吸气剂,但它并不排除设定器的可能性。

Swift书中的Protocols chapter显示了示例,并提供了有关此内容的更多信息。具体来说,Property Requirements部分涵盖了协议属性。