ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Swift 5.6 Subscripts
    기술/iOS 2022. 3. 20. 17:48

    Subscripts

    Subscript Syntax

    서브 스크립트를 사용하면 인스턴스 이름 뒤 대괄호에 하나 이상의 값을 작성하여 타입의 인스턴스를 조회할 수 있습니다. 이 구문은 인스턴스 메서드 구문과 계산된 프로퍼티와 유사합니다. subscript 키워드로 서브스크립트 정의를 작성하고 인스턴스 메서드와 같은 방법으로 하나 이상의 입력 파라미터와 반환 타입을 작성합니다. 인스턴스 메서드와 다르게 서브 스크립트는 읽기-쓰기 또는 읽기 전용이 될 수 있습니다. 이러한 동작은 계산된 프로퍼티와 같은 방법으로 getter 와 setter 를 통해 동작합니다

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

    newValue 의 타입은 서브스크립트의 반환 타입과 동일합니다. 계산된 프로퍼티와 동일하게 setter의 newValue 파라미터를 지정하지 않도록 선택할 수 있습니다.

    Subscript Usage

    서브 스크립트의 정확한 의미는 사용되는 컨텏트에 따라 다릅니다. 일반적으로 서브스크립트는 콜렉션 목록 또는 시퀀스에 멤버 요소에 접근하는 바로가기로 사용됩니다.

    ? Subscript Options

    서브 스크립트는 여러 개의 입력 파라미터를 가질 수 있고 입력 파라미터는 어떤 타입도 가능합니다. 서브 스크립트는 어떤 타입도 반환할 수 있습니다.

    함수처럼 서브 스크립트는 가변 파라미터에 기본 값을 가질 수 있습니다. 그러나 함수와 다르게 in-out 파라미터를 사용할 수 없습니다.

    클래스 또는 구조체는 필요한 만큼 서브 스크립트 구현과 값의 타입이 또는 서브 스크립트 대괄호 내에서 포함된 값을 기반으로 유추하여 적절한 서브 스크립트를 제공할 수 있습니다. 이러한 서브 스크립트의 정의를 서브 스크립트 오버로딩이라고 합니다.

    오버로딩 예제가 제대로 안나온거겠지?

    Type Subscripts

    static , class 키워드를 통해 타입 전용 서브 스크립트를 생성할 수 있습니다.

    '기술 > iOS' 카테고리의 다른 글

    Swift 5.6 Initialization  (0) 2022.03.20
    Swift 5.6 Inheritance  (0) 2022.03.20
    Swift 5.6 Methods  (0) 2022.03.20
    Swift 5.6 Properties  (0) 2022.03.20
    Swift 5.6 Structures and Classes  (0) 2022.03.20

    댓글 0

Designed by Tistory.