我对Swift中使用var和关键字{get set}的协议有疑问。
从Apple文档:
如果协议要求某个属性是可获取和可设置的,则该常量要求不能通过常量存储属性或只读计算属性来满足。如果协议仅要求一个属性是可获取的,则该要求可以由任何种类的属性来满足,并且如果该属性对您自己的代码有用,那么也可以对该属性进行设置是有效的。
属性要求始终声明为变量属性,并以var关键字为前缀。通过在类型声明后写{get set}来表示可获取和可设置的属性,通过写{get}来表示可获取的属性。
我不明白为什么我不能使用let。一个变种中,只有一个协议获取不只是让?
像这样:
protocol someProtocol
{
var someProperty: String { get }
}
这不只是:
protocol someProtocol
{
let someProperty: String
}
我想念什么吗?