Swift

[SwiftUI] some View에 대해서, some과 Opaque Type

2024. 4. 16. 02:56
목차
  1. Opaque Type이란?

해당 포스팅은 작성자의 학습을 위해 작성된 글 입니다.


Opaque Type이란?

Opaque Type(불투명한 타입)은 함수로 역제네릭 함수라고 할 수 있습니다.

함수나 메서드의 반환 타입이 특정 프로토콜을 준수하지만, 구체적인 타입은 숨겨짐을 의미합니다.

Swift에서는 some 키워드에 Opaque Type을 담아냅니다.

 

더 쉽게 이해해보겠습니다.

 

 

SwiftUI의 View 프로토콜은 모든 뷰가 가지고 있어야 할 가장 기본적인 기능을 정의하고 있습니다.

 

View 프로토콜에서 기본 규칙은 var body: some View { get } 프로퍼티를 생성하는 것입니다.

이 body 프로퍼티는 뷰의 내용을 구성하고, 화면에 어떻게 표시될지를 결정하는 역할을 합니다.

 

 


예를 들어, ContentView 구조체에서는 View 프로토콜을 채택하고, 이를 통해 View 프로토콜의 규칙이 요구하는 body 프로퍼티를 구현해야 합니다. 이 프로퍼티는 some View를 반환 타입으로 갖는데, 이는 body가 어떤 구체적인 View 타입을 반환하지만 그 타입이 무엇인지는 중요하지 않다는 의미입니다. 즉, body 내에서 Text, Button, VStack 등 어떤 타입을 사용하여도 이들 모두는 View 프로토콜을 준수하기 때문에 some View로 반환될 수 있습니다.

이런 방식으로 SwiftUI는 뷰의 구체적인 타입을 숨길 수 있으며, 개발자들이 각각의 요소들에 대해서 타입을 일일이 규정할 필요없이 뷰를 구성할 수 있게됐습니다.

정리하자면, ContentView 같은 구조체가 View 프로토콜을 준수한다는 것은, 그것이 SwiftUI의 뷰로서 필요한 모든 기본적인 요건을 갖추고 있음을 의미합니다.

'Swift' 카테고리의 다른 글

URLRequestConvertible 잘 사용해보자  (0) 2024.04.29
[SwiftUI] 왜 body에서 변수를 수정하지 못할까?  (0) 2024.04.17
[SwiftUI] SwiftUI를 소개합니다.  (0) 2024.04.15
[Swift/RxSwift] flatMap VS flatMapLatestFrom, 뭐가 다를까?  (0) 2024.04.15
Swift로 코딩테스트 시작하기, 시간복잡도, 공간복잡도, 입출력  (3) 2024.03.29
  1. Opaque Type이란?
'Swift' 카테고리의 다른 글
  • URLRequestConvertible 잘 사용해보자
  • [SwiftUI] 왜 body에서 변수를 수정하지 못할까?
  • [SwiftUI] SwiftUI를 소개합니다.
  • [Swift/RxSwift] flatMap VS flatMapLatestFrom, 뭐가 다를까?
쨈미니
쨈미니
서우의 성장일기쨈미니 님의 블로그입니다.
쨈미니
서우의 성장일기
쨈미니
전체
오늘
어제
  • 전체보기 (69)
    • 알고리즘 (13)
      • 백준 (13)
    • AI (1)
    • 회고 (16)
    • Swift (37)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • automaticDimension
  • BFS
  • Dynamic Heigth
  • 100 Days Of SwiftUI
  • 백트래킹
  • SwiftUI
  • Swift
  • boj
  • 버전규칙
  • 개발일지

최근 댓글

최근 글

hELLO · Designed By 정상우.
쨈미니
[SwiftUI] some View에 대해서, some과 Opaque Type
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.