Swift) Protocol과 Associated type

2023. 7. 4. 13:34·앱/Swift

associatedtype

associatedtype은 프로토콜에서 지네릭을 사용하기 위해서 사용하는 문법이다.

Generic이란

지네릭이란, 타입에 의존하지 않고 범용적으로 코드를 작성할때 사용하는 방식으로, 실제 함수가 호출될 때 해당 매개변수의 타입으로 대체되는 Placeholder를 의미한다.

하지만 기존의 프로토콜에서 지네릭을 사용하고 싶다면 associated type을 사용하라고 가이딩 한다.

실제로 사용하려면

이렇게 하면된다.

이거를 실제 채택한 클래스에서 다음과 같이 사용하면된다.

protocol someProtocol {
    associatedtype someType
    func getSomeType(t: someType)
}

class Adapt: someProtocol {
    typealias someType = Int

    func getSomeType(t: Int) {
        print(t.customMirror.subjectType)
    }
}
let adapt = Adapt()
adapt.getSomeType(t: 12) // Int


Uploaded by N2T

반응형

'앱 > Swift' 카테고리의 다른 글

Swift) actor와 Actor isolation에 대해서  (0) 2023.07.04
Swift) Return type과 에러처리  (0) 2023.07.04
Swift) GCD(Grand Central Dispatch) 에 대한 이해 (feat. DispatchQueue, Runloop  (0) 2023.07.04
Swift) Identifiable 프로토콜  (0) 2023.07.04
Swift) Escaping Closure  (0) 2023.07.04
'앱/Swift' 카테고리의 다른 글
  • Swift) actor와 Actor isolation에 대해서
  • Swift) Return type과 에러처리
  • Swift) GCD(Grand Central Dispatch) 에 대한 이해 (feat. DispatchQueue, Runloop
  • Swift) Identifiable 프로토콜
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Protocol
    uikit
    SwiftUI
    c++
    cs
    swift concurrency
    영남대
    멋사
    운영체제
    dispatchqueue
    widget
    웹
    TCA
    Swift
    spritekit
    알고리즘
    대외활동
    스유
    네트워크
    문법
    composable architecture
    백준
    후기
    widgetkit
    리액트
    위젯킷
    ReactorKit
    멋쟁이사자처럼
    스위프트
    컴퓨터그래픽스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
Swift) Protocol과 Associated type
상단으로

티스토리툴바