Skip to content

[#486] TodayViewModel 생성 및 생명주기를 개선한다#496

Merged
opficdev merged 3 commits into
developfrom
fix/#486-TodayViewModel
May 26, 2026
Merged

[#486] TodayViewModel 생성 및 생명주기를 개선한다#496
opficdev merged 3 commits into
developfrom
fix/#486-TodayViewModel

Conversation

@opficdev
Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

Today 화면의 데이터 fetch가 View의 onAppear 생명주기에 직접 연결되어 있어 화면 재구성 시점에 따라 불필요하게 호출될 수 있는 구조 개선

📝 작업 내용

📌 요약

Today 데이터 fetch 트리거를 TodayView.onAppear에서 MainView의 탭 선택 상태 변경 기준으로 이동

🔍 상세

  • TodayViewonAppear 기반 fetch 트리거 제거
  • TodayViewModel.Action.onAppear를 실제 동작 의미에 맞는 fetchData로 변경
  • TodayViewCoordinator.fetchData()를 추가해 MainView가 TodayViewModel 액션을 직접 호출하지 않도록 조정
  • MainViewselectedTab 변경 감지에서 Today 탭 선택 시 todayViewCoordinator.fetchData() 호출
  • 탭 재진입 시 Today 데이터를 다시 fetch하는 기존 정책 유지

📸 영상 / 이미지 (Optional)

2026-05-26.9.06.38.mov
2026-05-26.9.39.30.mov
개선 전 개선 후

@opficdev opficdev self-assigned this May 26, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR에서는 TodayView가 화면에 나타날 때 (.onAppear) 데이터를 로드하던 기존 방식을 MainView에서 탭 변경 (selectedTab)을 감지하여 TodayViewCoordinator를 통해 데이터를 가져오는 방식으로 변경하였습니다. 이에 따라 TodayViewModel 내의 액션명이 .onAppear에서 .fetchData로 수정되었습니다. 리뷰에서는 .onChange(of: selectedTab)가 값이 변경될 때만 트리거되어 앱이 처음 실행될 때 초기 탭에 대한 데이터 로드가 누락될 수 있는 문제를 지적하였으며, initial: true 옵션을 추가하는 개선 방안을 제안하였습니다.

Comment thread Application/DevLogPresentation/Sources/Main/MainView.swift Outdated
@opficdev opficdev merged commit a617391 into develop May 26, 2026
1 check passed
@opficdev opficdev deleted the fix/#486-TodayViewModel branch May 26, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TodayViewModel 생성 및 생명주기를 개선한다

1 participant