Subscript

작성일

Subscript

  • []가 Subsript다.
  • 직접 구현이 가능하다.
  • get블록은 생략이 불가능하지만, set블록은 생략이 가능하다.
let list = ["A", "B", "C"]
list[0] // []가 서브스크립트.

기본

subscript(parameters) -> ReturnType {
  get {
    return expression
  }
  set(name) {
    statements
  }
}

활용

class List {
  var data = [1, 2, 3]

  subscript(index: Int) -> Int {
    get {
      return data[index]
    }
    set {
      data[index] = newValue
    }
  }
}

var l = List()
l[0] // get블록실행
l[1] = 123 // set블록실행

하나의 parameter를 받기 떄문에 하나만 받을 수 있다.