Swift
Subscript
dion_K
2020. 11. 25. 16:40
728x90
오늘은 Subscript에 대해서 알아보겠습니다.
1. Subscript
- 서브스크립트는 컬렉션 같은 집합의 특정 요소에 접근하는 문법을 의미합니다.
- 서브스크립트를 이용해 값에 접근하거나 값을 할당할 수 있습니다.
- 파라미터 수와 형식에는 제한이 없습니다. 대부분 두 개 이하의 파라미터를 사용합니다.
- 입출력 파라미터, 파라미터 기본값을 지정할 수 없습니다.
- 파라미터는 생략이 불가능합니다.
class List {
var data = [1, 2, 3]
subscript(index: Int) -> Int {
get {
return data[index]
}
set {
data[index] = newValue
}
}
}
var l = List()
l[0] // 1
l[1] = 123 // set 블록 실행
l[0, 1] // 에러 , 일치하는 파라미터가ㅣ 없음
l["A"] //에러
struct Matrix {
var data = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
subscript(row: Int, col: Int) -> Int {
return data[row][col]
} // 여기까지는 읽기 전용 서브스크립트
}
let m = Matrix()
//m[0][0] 에러가 발생합니다.
// 서브스크립트에서 두 개 이상의 값을 전달할 때는 콤마로 나열합니다.
m[0, 0]
//m[0, 10] 배열의 범위를 벗어나는 값 전달, 에러!
728x90