-
Associated type?Swift 2022. 1. 4. 19:54
Associated Type은 뭘까?
사람마다 접하거나 사용한 부분이 다르지만, 나는 처음 여기서 봤다.
짜잔~ 바로 저기 있는 associatedtype 이다.
AssociatedType ?
실제로 associatedtype 은 Generics 아래 위치해 있다.
https://docs.swift.org/swift-book/LanguageGuide/Generics.html
generic의 성질이 있다는 말인데, 바로 위에서 처럼 protocol에서 사용된다.
설명된 예제를 보면
저런식으로 protocol에 Item 이라는 associatedtype을 선언해서 사용할 수 있는데
사용할때 아래처럼 Int 로 선언해서 사용할 수도, Element로 선언해 사용할 수도 있는 셈이다.
결론
결론 이랄것도 없지만, 정의한 protocol에 type을 하나로 정의할 수 없을때가 있다. 그럴때 어느 곳에서는 Int, 어느곳에서는 String 이런식으로 사용할 수 있도록 한다고 보면 된다. 보통 아래처럼 활용을 자주한다.
protocol Test { associatedtype DataType: Equatable // ==으로 할 수 있ㄴ는거임. func test(data: DataType) }
끝~
728x90'Swift' 카테고리의 다른 글
UIView-Encapsulated-Layout-Width 오류 (0) 2022.03.24 View의 life cycle (layoutsubviews에 대해) (0) 2021.12.31 Xcode Cloud란 (0) 2021.12.28 Swift AsyncSequence (비동기 시퀀스에 대한 지원) (0) 2021.12.22 Feature flags in Swift (0) 2021.12.22