Read-only custom subscripts
We can also make the subscript read-only by either not declaring a setter method within the subscript or by not implicitly declaring a getter or setter method. The following code shows how to declare a read-only property by not declaring a getter or setter method:
//No getter/setters implicitly declared
subscript(index: Int) ->String {
return names[index]
}
The following example shows how to declare a read-only property by only declaring a getter method:
//Declaring only a getter
subscript(index: Int) ->String {
get {
return names[index]
}
}
In the first example, we do not define either a getter or setter method, therefore Swift sets the subscript as read-only and the code acts as if it was in a getter definition. In the second example, we specifically set the code in a getter definition. Both examples are valid read-only subscripts. One thing to note is write-only subscripts are not valid...