From f30f46e906a31ae3a2409c256a7a5ef58555bad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=92=E1=85=A7=E1=86=AB=E1=84=8C=E1=85=B5=E1=86=AB?= Date: Fri, 7 Nov 2025 11:06:26 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20fetchRequest=20Error=20=EB=8C=80?= =?UTF-8?q?=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iCo/Features/Dashboard/ViewModel/TopCoinListViewModel.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AIProject/iCo/Features/Dashboard/ViewModel/TopCoinListViewModel.swift b/AIProject/iCo/Features/Dashboard/ViewModel/TopCoinListViewModel.swift index 13fc0141..3d03a2b1 100644 --- a/AIProject/iCo/Features/Dashboard/ViewModel/TopCoinListViewModel.swift +++ b/AIProject/iCo/Features/Dashboard/ViewModel/TopCoinListViewModel.swift @@ -60,7 +60,7 @@ final class TopCoinListViewModel: ObservableObject { let targetIDs = Array(Set(topVolumeIDs + topRateIDs)) guard !Task.isCancelled else { return } - + try? await Task.sleep(for: .seconds(2)) await withTaskGroup(of: Void.self) { group in for id in targetIDs { group.addTask { From 416976e0d11de0f5dddd4fb812047f9d4d27b504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=92=E1=85=A7=E1=86=AB=E1=84=8C=E1=85=B5=E1=86=AB?= Date: Fri, 7 Nov 2025 11:27:05 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EA=B3=B5=ED=86=B5=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20CoinView=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Features/Dashboard/View/TopCoinListView.swift | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/AIProject/iCo/Features/Dashboard/View/TopCoinListView.swift b/AIProject/iCo/Features/Dashboard/View/TopCoinListView.swift index b5aace94..6399963d 100644 --- a/AIProject/iCo/Features/Dashboard/View/TopCoinListView.swift +++ b/AIProject/iCo/Features/Dashboard/View/TopCoinListView.swift @@ -100,19 +100,8 @@ struct TopCoinListSection: View { .foregroundColor(.iCoAccent) .padding(.trailing, 16) - CachedAsyncImage(resource: .symbol(coin.coinSymbol)) { - Text(String(coin.coinSymbol.prefix(1))) - .font(.ico17Sb) - .foregroundStyle(.iCoAccent) - .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(.iCoBackgroundAccent) - .overlay( - Circle().strokeBorder(.defaultGradient, lineWidth: 0.5) - ) - } - .frame(width: 40, height: 40) - .clipShape(Circle()) - .padding(.trailing, 8) + CoinView(symbol: coin.coinSymbol, size: 40) + .padding(.trailing, 8) VStack(alignment: .leading, spacing: 8) { Text(viewModel.koreanName(for: coin.id))