From 203845f47ba58a342c3eaf311291e24a95d5ba5d Mon Sep 17 00:00:00 2001 From: giljihun Date: Wed, 11 Feb 2026 13:56:34 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B9=88=20=EB=AD=89=EC=B9=98=20?= =?UTF-8?q?=EC=A0=84=ED=99=98=20=EC=8B=9C=20=EB=AC=B4=ED=95=9C=EB=A1=9C?= =?UTF-8?q?=EB=94=A9=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - handleKeyringDataChange에서 빈 뭉치일 때 isSceneReady 리셋 방지 - createKeyringDataList에서 설정한 isSceneReady = true가 유지되도록 함 - MultiKeyringSceneView의 불필요한 onAppear 체크 로직 제거 --- .../Core/KeyringBundle/View/MultiKeyringSceneView.swift | 5 ----- .../Keychy/Presentation/Home/ViewModels/HomeViewModel.swift | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Keychy/Keychy/Core/KeyringBundle/View/MultiKeyringSceneView.swift b/Keychy/Keychy/Core/KeyringBundle/View/MultiKeyringSceneView.swift index cd4447de..0970d043 100644 --- a/Keychy/Keychy/Core/KeyringBundle/View/MultiKeyringSceneView.swift +++ b/Keychy/Keychy/Core/KeyringBundle/View/MultiKeyringSceneView.swift @@ -85,11 +85,6 @@ struct MultiKeyringSceneView: View { loadBackgroundImage() setupScene() } - - // 키링이 없으면 즉시 준비 완료 콜백 호출 - if keyringDataList.isEmpty { - onAllKeyringsReady?() - } } .onChange(of: backgroundImageURL) { _, _ in loadBackgroundImage() diff --git a/Keychy/Keychy/Presentation/Home/ViewModels/HomeViewModel.swift b/Keychy/Keychy/Presentation/Home/ViewModels/HomeViewModel.swift index 13c100d9..96f9cd70 100644 --- a/Keychy/Keychy/Presentation/Home/ViewModels/HomeViewModel.swift +++ b/Keychy/Keychy/Presentation/Home/ViewModels/HomeViewModel.swift @@ -247,6 +247,10 @@ class HomeViewModel { /// 키링 데이터 변경 감지 시 씬 준비 상태 초기화 func handleKeyringDataChange() { + // 빈 뭉치면 이미 createKeyringDataList에서 isSceneReady = true 설정됨 + // 다시 false로 리셋하면 무한로딩 발생 + guard !keyringDataList.isEmpty else { return } + withAnimation(.easeIn(duration: 0.2)) { isSceneReady = false }