develop

Subscript 본문

iOS

Subscript

pikachu987 2021. 1. 1. 10:00
반응형
subscript(index: Int) -> Int {
    get {

    }
    set {

    }
}

또는

subscript(index: Int) -> Int {
    // get만 있는 subscript
}

이렇게 사용할 수 있다.

 

 

Dictionary 타입에서는 key-value subscript로 구현되며 해당 key값의 옵셔널 타입을 받거나 리턴한다.

Array 타입에서는 index를 받고 해당 index의 값을 받거나 리턴한다.

 

 

예제를 보면

struct TimesTable {
    let multiplier: Int

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

let timesTable = TimesTable(multiplier: 3)
print(timesTable[1])
print(timesTable[2])
print(timesTable[3])
3
6
9

 

struct Animal {
    let name: String

    subscript(index: Int) -> String {
        return name + "\(index)"
    }
}

let lion = Animal(name: "사자")
print(lion[0])
print(lion[1])
print(lion[2])

let dog = Animal(name: "개")
print(dog[0])
print(dog[1])
print(dog[2])
사자0
사자1
사자2
개0
개1
개2

index 인자값에는 Int뿐만 아니라 다른 타입들을 쓸 수 있다.

리턴값도 동일하게 다른 타입들을 사용할 수 있다.

 

 

반응형

'iOS' 카테고리의 다른 글

Enumeration  (0) 2021.01.03
Subscript Optional  (0) 2021.01.02
Swizzling  (0) 2020.12.31
IBDesignable, IBInspectable  (0) 2020.12.30
Image Face Detector 사진에서 얼굴 찾기  (0) 2020.12.30
Comments