From 708e1838d13b98a6bf620c1558723f87c8bf0ea3 Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 31 Jan 2025 14:53:37 +0900 Subject: [PATCH] =?UTF-8?q?:bug:=20::=20[#1335]=20MusicDetailView=20crash?= =?UTF-8?q?=20=EC=9D=B4=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/MusicDetail/MusicDetailReactor.swift | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailReactor.swift b/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailReactor.swift index a52e00bea..1f9888d7a 100644 --- a/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailReactor.swift +++ b/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailReactor.swift @@ -90,9 +90,10 @@ final class MusicDetailReactor: Reactor { cancelLikeSongUseCase: any CancelLikeSongUseCase, findArtistIDUseCase: any FindArtistIDUseCase ) { - let selectedIndex = songIDs.firstIndex(of: selectedID) ?? 0 + let uniqueedSongIDs = Array(songIDs.uniqued()) + let selectedIndex = Array(uniqueedSongIDs).firstIndex(of: selectedID) ?? 0 self.initialState = .init( - songIDs: songIDs, + songIDs: uniqueedSongIDs, selectedIndex: selectedIndex ) @@ -102,9 +103,9 @@ final class MusicDetailReactor: Reactor { self.findArtistIDUseCase = findArtistIDUseCase let urls = [ - songIDs[safe: selectedIndex - 1], - songIDs[safe: selectedIndex], - songIDs[safe: selectedIndex + 1] + uniqueedSongIDs[safe: selectedIndex - 1], + uniqueedSongIDs[safe: selectedIndex], + uniqueedSongIDs[safe: selectedIndex + 1] ] .compactMap { $0 } .map { youtubeURLGenerator.generateHDThumbnailURL(id: $0) }