ios 3

TCA - What is ViewStore

안녕하세요! 미니입니다. 이번에는 TCA로 프로젝트를 진행하면서 학습한 내용을 정리해보려고 합니다. 많은 것을 정리하는 것은 아니고, 개념적인 내용에 대해서 설명하려고 합니다. TCA를 조금 써보면 ViewStore라는 친구를 바로 만나게 되는데 내부적으로 어떤 동작이 일어나는 지 궁금해져서 학습한 내용을 공유해보려고 합니다. 우선 공식 문서 부터 조져보자구욧! ViewStore는 상태의 변화와 액션 발생에 대해서 관찰할 수 있는 객체이다. 일반적으로 SwiftUI의 뷰나 UIView, UIViewController 타입에서 사용할 수 있다. 하지만, 상태를 관찰하고 액션을 전달하는 것이 적합한 곳이면 어디든 사용할 수 있다. 상태를 관찰할 수 있다는 말에서 Combine과 SwiftUI에서 많이 보던 ..

IOS/SwiftUI 2023.10.08

[iOS] MVVM에 대한 고찰

안녕하세요! 미니입니다. 프로젝트를 하면서 MVVM에 대해서 고민했던 부분들을 정리해보려고 합니다. 저도 학습을 하고, 생각을 정리하는 글이다 보니 틀린 부분이 있을 수 있습니다. ㅜㅜ (댓글 달아주시면 발전하겠습니다!!) 왜 MVVM 써야 하는뎅..? 전통적으로 Apple에서 정의한 MVC를 Massive View Controller라고 놀리곤합니다. 근데, 저는 Massive하다는 것이 어느정도 커져야지 그런 거지?라는 생각과 함께 좀 고민을 해야 할 표현이라고 생각했습니다. 실제 개발을 하면서 ViewController가 커지는 경우가 있기는 한데, MVVM으로 변경하는 적절한 이유라고는 생각하지 못했습니다. 이런 이유들보다는 View와 비즈니스 로직을 분리하고 객체들에게 명확한 책임을 주게 하기 ..

IOS/UIKit 2023.09.12

[iOS] 상단 탭바 구성하기

안녕하세요! 미니입니다. 오늘은 UI와 관련되서 글을 작성해보려고 합니다. 프로젝트를 진행하면서 상단에 탭바와 같은 UI를 구성하면서 고민한 점들과 구성 방법에 대해서 공유해보려고 합니다. 오늘 구성할 화면이며, 상단에는 하단 탭바처럼 버튼을 누를때마다 화면이 전환되도록 구성됩니다. 1. 탭 구성하기 우선, 처음으로 상단에 표시할 텍스트와 화면에 대해서 정의할 수 있는 타입을 구성할 겁니다. 또한, 화면의 구성을 일반화하기 위해서 protocol을 선언해서 구성하였습니다. 2. 상단 탭바 구성하기 그 후, 상단 커스텀한 상단 탭바를 구성합니다. 상단 탭바는 StackView를 상속하고 있으며, TabItem 을 채택하고 있는 타입들의 배열을 받을 수 있도록 구성합니다. 그리고, 상단 탭바의 화면을 구성해..

IOS/UIKit 2023.09.11