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 Subscripts  (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.