Я следую учебному пособию по парадигме ориентированного на протокол программирования, в котором я смущен чем-то, что, на мой взгляд, было довольно простым: свойства только для чтения протоколов или методов получения и установки.Насколько я понимаю, свойство «только для чтения» обозначается с помощью ключевого слова «get» при объявлении переменной в протоколе.Я был взволнован, поэтому я быстро запрограммировал созданную игровую площадку, чтобы увидеть, было ли мое мышление точным, однако кажется, что я все еще могу изменить свойство, которое, по моему мнению, было доступно только для чтения.Что я делаю не так, чтобы сделать его действительно доступным только для чтения, где я не могу его установить?
protocol FullName {
var firstName: String {get set}
var lastName: String {get set}
var readOnlyProperty: String {get}
}
struct OuttaBeerOuttaHere: FullName {
var firstName: String
var lastName: String
var readOnlyProperty: String = "Jack! Jack!...Line from Titanic"
}
var leonardoDicaprio = OuttaBeerOuttaHere.init(firstName: "Leonardo", lastName: "Dicaprio", readOnlyProperty: "WTF")
print(leonardoDicaprio.readOnlyProperty) //prints "WTF"
leonardoDicaprio.readOnlyProperty = "what now"
print(leonardoDicaprio.readOnlyProperty) //prints "what now"