서브 스크립트는 subscript 키워드를 사용하여 정의한다. 인스턴스 메서드와 비슷하게 매개변수의 개수, 타입, 반환타입등을 지정하며, 읽고 쓰기가 가능하도록 구현하거나 읽기전용으로만 구현할 수 있다.
subscript(index: Int) -> int {
get {
적절한 서브스크립트 결괏값 반환
}
set(newvalue) {
적절한 설정자 역할 수행
}
}
클래스, 구조체 열거형에 접근하기 위한 문법이다.
Struct Num{
let num = [1, 2, 3]
subscript(i = Int) -> int {
return[i]
}
}
var n = Num()
print(n[0], n[1], n[2])
1 2 3
서브스크립트는 인스턴스 이름 뒤에 대괄호만 써서 편리하게 내부 값에 접근하고 설정해줄 수 있다.