Swift:使用没有值的getter

问题描述 投票:0回答:1

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

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

我真的很感激你的想法。

swift
1个回答
4
投票

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

你的协议的合同规定,无论符合协议,必须至少为一个名为uuid且类型为UUID的变量提供一个getter。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.