subscript(index: Int) -> Int{
get{
//적절한 서브스크립트 결과값 반환
}
set(newValue){
//적절한 설정자 역할 수행
//newValue는 subscript 의 반환 타입과 통일해야 함
}
}
When to use? → 자신이 가지는 시퀀스나 컬렉션, 리스트 등의 요소를 반환하고 설정할 때 주로 사용
struct TimesTable {
let multiplier: Int
subscript(index: Int) -> Int {
return multiplier * index
// 서브스크립트에 입력하는 정수만큼 곱하는 것.
// set 없이 읽기 전용
}
}
let threeTimesTable = TimesTable(multiplier: 3) // 구구단 3단
print("six times three is \(threeTimesTable[6])") // 서브스크립트에 [6] 입력됬으니 3*6 해서 18출력
subscript(index: Int)->Student?{
get{
}
set{
}
}
//읽기전용
subscript(index: String)->Int?{
get{
}
}
→ [ ] 안에 Int 값을 주냐 String 값을 주냐에 따라 다른 subscript 가 실행됨