스위프트 - 첨자

클래스, 구조 및 열거형은 컬렉션, 목록 또는 시퀀스의 멤버 요소에 액세스하기 위한 바로 가기인 첨자를 정의할 수 있습니다.
예를 들어 Array 인스턴스의 요소에 someArray[index]로 액세스하고 Dictionary 인스턴스의 요소에 someDictionary[key]로 액세스합니다.

첨자 구문



첨자를 사용하면 인스턴스 이름 뒤에 대괄호 안에 하나 이상의 값을 작성하여 유형의 인스턴스를 쿼리할 수 있습니다.

subscript(index: Int) -> Int {
    get {
        // Return an appropriate subscript value here.
    }
    set(newValue) {
        // Perform a suitable setting action here.
    }
}


읽기 전용 계산 속성과 마찬가지로 get 키워드와 중괄호를 제거하여 읽기 전용 첨자의 선언을 단순화할 수 있습니다.

subscript(index: Int) -> Int {
    // Return an appropriate subscript value here.
}


아래 첨자 예




struct TimesTable {
    let multiplier: Int
    subscript(index: Int) -> Int {
        return multiplier * index
    }
}
let threeTimesTable = TimesTable(multiplier: 3)
print("six times three is \(threeTimesTable[6])")
// Prints "six times three is 18"


첨자 사용법



"아래 첨자"의 정확한 의미는 사용되는 컨텍스트에 따라 다릅니다. 첨자는 일반적으로 컬렉션, 목록 또는 시퀀스의 멤버 요소에 액세스하기 위한 바로 가기로 사용됩니다.




//dictionary 
var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
numberOfLegs["bird"] = 2


첨자 옵션


  • 첨자는 여러 입력 매개변수를 사용할 수 있으며 이러한 입력 매개변수는 모든 유형이 될 수 있습니다. 첨자는 또한 모든 유형의 값을 반환할 수 있습니다.
  • 함수와 마찬가지로 첨자는 가변 매개변수 및 기본 매개변수 값에서 설명한 대로 다양한 수의 매개변수를 사용하고 매개변수에 대한 기본값을 제공할 수 있습니다. 그러나 함수와 달리 아래 첨자는 in-out 매개변수를 사용할 수 없습니다.
  • 클래스 또는 구조는 필요한 만큼 아래 첨자 구현을 제공할 수 있으며, 사용할 적절한 아래 첨자는 아래 첨자가 사용되는 지점에서 아래 첨자 괄호 안에 포함된 값의 유형을 기반으로 유추됩니다. 여러 첨자의 이러한 정의를 첨자 오버로딩이라고 합니다.
  • 좋은 웹페이지 즐겨찾기