從「學習斯威夫特綱要」操場上,有一個例子協議:只讀協議的特性在雨燕
protocol ExampleProtocol {
var simpleDescription: String { get }
func adjust()
}
有這個例子後很短的通道,上面寫着:
注意:跟在simpleDescription屬性後面的{get}表示它是隻讀的,這意味着可以查看該屬性的值,但從未更改。
另外一個例子,給出一類符合本協議的:
class SimpleClass: ExampleProtocol {
var simpleDescription: String = "A very simple class."
var anotherProperty: Int = 69105
func adjust() {
simpleDescription += " Now 100% adjusted."
}
}
var a = SimpleClass()
a.adjust()
let aDescription = a.simpleDescription
然而這如何類符合協議?什麼阻止我從變異simpleDescription
?我不明白什麼?