【发布时间】:2019-06-06 05:32:09
【问题描述】:
我对 Swift 很陌生,虽然我已经阅读了 Apple 的文档以及许多关于此的主题和线程,但我仍然无法理解 { get } 和 { get set } 之间的区别。我的意思是,我正在寻找一个具体例子的解释。
例如:
protocol PersonProtocol {
var firstName: String { get }
var lastName: String { get set }
}
这两个属性之间的实际区别是什么?我尝试在操场上玩这些属性:
struct Person: PersonProtocol {
var firstName: String
var lastName: String
}
var p = Person(firstName: "John", lastName: "Lennon")
print(p.firstName) // John
print(p.lastName) // Lennon
p.firstName = "Paul"
p.lastName = "McCartney"
print(p.firstName) // Paul
print(p.lastName) // McCartney
没有帮助...感谢您的帮助。
【问题讨论】:
-
varstore 属性同时具有 setter 和 getter -
对于
firstName,你只能得到它意味着你只能调用它并且你可以设置它。使用lastName,既可以获取也可以设置,也可以更改。
标签: swift swift-protocols