목록분류 전체보기 (284)
기어가더라도 제대로

상황 설명뷰 컨트롤러에서 뷰 모델의 스트림을 구독을 하고 뷰에서 이벤트를 트리거했을 때, 이벤트 스트림 내부에서 VM의 같은 프로퍼티를 참조했을 때 값이 나타나질 않았다. 같은 Source of Truth 인데 이런 차이가 발생하는 이유가 무엇일까?import Combineimport UIKitclass FooViewModel: ObservableObject { @Published var data: String? func setData() { data = "New Data" }}class FooViewController: UIViewController { let vm: FooViewModel var cancellab..

결과물 미리보기문제 상황커머스의 상품의 디테일 페이지 같은 경우 스크롤뷰가 있고 그 안에 이미지가 top 부분 safeArea를 넘어 자리하는 경우가 있다. 이 때 타이틀을 어디에 넣어야 적절한지 정하기 까다롭다. 만약, 이미지 왼쪽 하단에 아이템의 타이틀이라도 있으면 불편하다. 이 때도 SwiftUI에서 기본으로 제공하는 것처럼 title display mode를 .large에서 .inline으로 변화하는듯한 UI를 그려보자 일반적인 상황일반적으로는 .navigationTitle("title")을 하게 되면 색상이나 폰트 등등 커스텀하기가 매우 불편해진다. 대신 타이틀이 어떤 모드로 보일지를 변환하는건 자동으로 된다. var body: some View { ScrollView { ..

상황 설명프로젝트에서 여러개의 탭을 구현해야하는 상황이 있을 수 있는데, 그럴 때 어떻게 하면 좋은지 적음 AppState, TabView, Key class AppState: ObservableObject { @Published var selectedSecondScreen: SecondScreen?}enum FirstScreen: Hashable, Identifiable, CaseIterable { case foo case bar case baz var id: Self { self } var image: String { switch self { case .foo: return "dot.square" case .ba..