MVVM이 뭔지는 대충 아시는 분들이 많겠지만 막상 구현하라고 하면 어떻게 구현해야 하는지 막막한 경우가 많습니다. 이 포스팅에서는 간단한 TodoList를 통하여 제가 공부한 구성을 정리하겠습니다. 한번에 완성된 글을 쓰려고 하니 시작을 안 하는거 같아. 쪼개서 쓰고 나중에 합치겠습니다.. 코드의 구조 View LauchScreen ListView ListRowView AddView NoItemsView Model ItemModel ViewModel ListViewModel * 게시글에 언급되는 코드와 결과물은 Swiftful Thinking의 SwiftUI Todo List (Beginner Level)에서 나온 내용임을 밝힙니다. ** (https://www.youtube.com/playlist?l..
기존에 잘 쓰고 있던 navigationBarItems가 deprecated 됐습니다. 제가 공부하는 자료에서는 navigationBarItems로 trailing 버튼과 leading 버튼을 설정하네요. 엑스코드는 이제 toolbar를 이용하여 trailing과 leading을 설정하라고 안내해주니까 예시 코드를 만들어봤습니다. 기존 navigationBarItems를 이용할 시, 왼쪽에 수정 버튼을 두고 오른쪽에는 뷰 이동이 필요하다면 다음과 같이 코딩을 해야 했습니다. .navigationBarItems { leading: EditButton(), trailing: NavigationLink("추가", destination: 추가View()) } ToolbarItem을 사용하여 같은 디자인을 만들고..
NavigationView { NavigationLink { TargetView() } label: { DesignedCell() } .onTapGesture { let str:String = "This is onTapGesture" print(str) } } 위와 같은 코드로 사용자는 DesignedCell로 요소를 만들었으며 터치하여 TargetView로 이동하려고 한다고 가정해봅시다. 여기서 개발자는 모종의 이유로 print()를 사용하던지 변수를 수정하기 위해 onTapGesture를 병행하여 사용하고 싶은 경우가 있습니다. NavigationView 안에서는 위에서 의도한대로 작동하지 않습니다. 제가 실험해본 바로는 onTapGesture가 먼저 작용되고 Link는 작동되지 않네요. 이를 해결하..