Generic 3

[Swift] SwiftUI에서 some View를 사용하는 이유 | any VS some

왜 SwiftUI에서는 some View를 사용해서 뷰를 그려요? some 키워드가 Opaque Type에서 사용되고 Opaque Type에 대한 개념도 어느 정도 알고 있지만, 어느 날 문득 왜 SwiftUI에서는 any View도 아니고 some View로 뷰에 대한 타입을 리턴 받아 사용하는 걸까 궁금했다.    이렇게 some 키워드로 나타내는 타입을 Opaque Type이라고 하는데, 불명확 타입이라고도 불리며, 역제네릭 타입으로도 불린다. 왜 불명확 혹은 역제네릭 타입으로 불리는지 Opaque Type에 대해 살펴보고, 왜 SwiftUI에서 뷰를 그릴 때는 some View 처럼 Opaque Type을 사용하는지에 대해서도 알아보자!    📍Generic 왜 Opaque Type 알아본다고 ..

Swift 2024.11.14

[Swift] any 키워드는 왜 있는걸까? Existential Type은 뭔데?

some과 any를 공부하다 보니 any라는 키워드가 등장한 이유가 궁금해졌다.궁금증이 의식의 흐름처럼 생기는 편.. ㅎㅎ  any 키워드에 대해서 공부하다보니 Existential type 이라는 것까지 공부하게 되었는데 Existential type의 특성과 함께 swift 5.6에서 any 키워드가 등장한 이유에 대해서도 알게되어 흥미로워 글을 적는다. Swift를 공부하면서 Existential 이라는 단어는 Existential Container 공부할 때 밖에 못 봤는데 (프로토콜 타입의 인스턴스를 저장하는 방법에 대한 내용) 역시나 이번에도 프로토콜에 관련한 내용이었다. Existential Container 에 대한 내용이 궁금하다면 아래 블로그 글로!프로토콜 채택한 구조체 Existent..

Swift 2024.10.31

[Swift] Swift Performance (2) | Generic을 활용한 성능개선

이전 글에서는 Swift에서 성능일 미치는 세 가지 요소와 구조체가 protocol을 채택했을 때 어떻게 성능이 달라지는지 알아보았다. [Swift] Swift Performance (1) | swift에서 성능을 좌우하는 3가지 요소와 구조체의 성능 변화 struct + protocol을 사용하면 단순하게 struct를 사용하는 것에 비해 성능이 안 좋아진다고 했는데 이 인스턴스를 argument로 전달한다고 가정했을 때 함수 내 로컬 변수로 사용되는 상황해서 어떻게 하면 성능을 좋게 할 수 있을까? 정답은 제네릭 함수를 사용하는 것이다! 이번 글도 WWDC 2016 Understanding Swift Performance 세션과 연관되는 글이다. 우선 제네릭 함수를 사용했을 때와 사용하지 않았을 때의..

Swift 2024.02.07