[Swift] 서브 스크립트

Kiwi·2024년 3월 27일

Swift

목록 보기
21/21
post-thumbnail

📁 Subscripts

클래스, 구조체, 그리고 열거형은 콜렉션, 리스트, 또는 시퀀스의 멤버 요소에 접근할 수 있는 단축키를 말한다. 즉, 어떤 배열의 3번째 요소에 접근하기 위한 someArray[2] 에서 []이 바로 서브스크립트를 말하는 것!!!

*swift의 시퀀스는 순서가 있는 값의 컬렉션을 의미한다.

구문

서브 스크립트를 사용하면 인스턴스 이름 뒤에 대괄호에 하나 이상의 값을 작성하여 타입의 인스턴스를 조회할 수 있다. 서브스크립트 구문은 메서드 구문과 계산된 프로퍼티 구문과 유사하다. subscript 키워드로 서브 스크립트 정의를 작성하고 인스턴스 메서드와 같은 방법으로 하나 이상의 입력 파라미터와 반환 타입을 작성한다.

subscript(index: Int) -> Element {
    get {
        // 서브스크립트 값 반환
    }
    set(newValue) {
        // 서브스크립트 값 설정
    }
}

index는 서브스크립트를 호출할 때 사용되는 인덱스나 키를 나타내며, Element는 반환되는 값 타입을 나타낸다. get 블록은 subscript를 사용하여 값을 읽을 때 호출되고, set 블록은 값을 설정할 때 호출된다. 하지만 get 블록만 구현하여 읽기전용 서브스크립트를 정의할 수도 있다.

예시로 간단한 서브스크립트를 정의하는 구조체이다.

struct TimesTable {
	let multiplier: Int
    subscript(index: Int) -> Int {
    	return multiplier * index
    }
}

let threeTimesTable = TimesTable(multiplier: 3)
print(threeTimesTable[6]) // 18
profile
🐣 iOS Developer

0개의 댓글