Subscripts can be defined by class,struct and enumeration.
It is a shortcut for accessing member elements of a collection,sequence or list.
We can use subscripts to set and retrieve values by index without writing separate methods for setting and retrieval.
Subscripts Syntax
subscript(input1,input2,input3,input4,...)->return-Type{
get{
}
set(newValue){
}
}
//Without Init
struct Timetable{
var multiplier:Int
subscript(index:Int)->Int{
return multiplier
}
}
var mul = Timetable(multiplier: 9)
mul.
print(mul[9])//Without init we use subcript it will return 9
//With init
struct Timetable1{
var multiplier:Int
init(multiplier:Int) {
self.multiplier = multiplier
}
subscript(index:Int)->Int{
return multiplier * index
}
}
var mul1 = Timetable1(multiplier: 9)
print(mul1[9])
struct NumberArr{
var numbers:[Int]
init(numbers:[Int]){
self.numbers = numbers
}
subscript(index:Int)->Int{
get{
return numbers[index]
}
set(newVaalue){
numbers[index] = newVaalue
}
}
}
var nums = NumberArr(numbers: [88,99,66,55,44])
nums[3] //55
nums[0] //88
nums[0] = 77
nums[0] //77