[Swift] - Subscript

Din의 개발노트·2020년 12월 16일
0

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] 배열의 범위를 벗어나는 값 전달, 에러!
profile
iOS Develpoer

0개의 댓글

관련 채용 정보