From 83b51b43fd5b5d97986ead8bbdb174f9d32a6676 Mon Sep 17 00:00:00 2001 From: Yeonnies Date: Sun, 9 Nov 2025 04:23:36 +0900 Subject: [PATCH] =?UTF-8?q?[Refactor]=20#160=20-=20Task=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/Category/View/CategoryView.swift | 11 ++--------- .../View/CertificateDetailView.swift | 6 ++---- .../Recommend/View/RecommendView.swift | 15 ++++----------- 3 files changed, 8 insertions(+), 24 deletions(-) diff --git a/CERTI-iOS/Presentation/Category/View/CategoryView.swift b/CERTI-iOS/Presentation/Category/View/CategoryView.swift index cf53b81..f2bb524 100644 --- a/CERTI-iOS/Presentation/Category/View/CategoryView.swift +++ b/CERTI-iOS/Presentation/Category/View/CategoryView.swift @@ -29,15 +29,8 @@ struct CategoryView: View { CategoryLicenseCardList(viewModel: viewModel) .padding(.horizontal, 20) } - .onAppear { - Task { - await viewModel.getCategoryList() - } - } - .onChange(of: viewModel.selectedCategory) { _ in - Task{ - await viewModel.getCategoryList() - } + .task(id: viewModel.selectedCategory) { + await viewModel.getCategoryList() } } } diff --git a/CERTI-iOS/Presentation/CertificateDetail/View/CertificateDetailView.swift b/CERTI-iOS/Presentation/CertificateDetail/View/CertificateDetailView.swift index 06a15b9..825e12c 100644 --- a/CERTI-iOS/Presentation/CertificateDetail/View/CertificateDetailView.swift +++ b/CERTI-iOS/Presentation/CertificateDetail/View/CertificateDetailView.swift @@ -134,10 +134,8 @@ struct CertificateDetailView: View { .frame(maxWidth: .infinity, maxHeight: .infinity) } } - .onAppear { - Task { - await viewModel.fetchCertificateDetail(certificationId: certificationId) - } + .task { + await viewModel.fetchCertificateDetail(certificationId: certificationId) } } diff --git a/CERTI-iOS/Presentation/Recommend/View/RecommendView.swift b/CERTI-iOS/Presentation/Recommend/View/RecommendView.swift index 1e1ec04..d898b6e 100644 --- a/CERTI-iOS/Presentation/Recommend/View/RecommendView.swift +++ b/CERTI-iOS/Presentation/Recommend/View/RecommendView.swift @@ -28,18 +28,11 @@ struct RecommendView: View { .presentationCornerRadius(40) .presentationDragIndicator(.hidden) } - .onAppear { - Task { - await viewModel.getRecommendCertificationList() - await viewModel.getJobList() - } + .task(id: viewModel.selectedJobField) { + async let recommendCertificationList: () = viewModel.getRecommendCertificationList() + async let jobList: () = viewModel.getJobList() + _ = await (recommendCertificationList, jobList) } - .onChange(of: viewModel.selectedJobField, perform: { _ in - Task { - await viewModel.getRecommendCertificationList() - await viewModel.getJobList() - } - }) .overlay { if viewModel.isShowLoading { CertiLoadingView(name: AuthManager.shared.nickname)