使用没有价值的吸气剂有什么好处。例如:
protocol xyz:Class{
var uuid:UUID{get}
}
我真的很感激你的想法。
答案 0 :(得分:4)
您问题中的代码是声明协议。协议基本上是一个合同。它没有提供任何功能。
您的协议的合同规定,无论符合协议的是什么,都必须至少为名为uuid
且类型为UUID
的变量提供getter。
协议本身不提供getter,因此它不返回值。符合协议的类/ struct / enum将提供getter的值。同样的类/结构/枚举也可以(如果需要)为uuid
变量提供一个setter。该协议仅声明必须有一个吸气剂,但它并不排除设定器的可能性。
Swift书中的Protocols chapter显示了示例,并提供了有关此内容的更多信息。具体来说,Property Requirements部分涵盖了协议属性。