메인화면의 Card가 Swipe되고 나서 순간적으로 이전화면이 보이는 문제가 발생했습니다.
현재, ViewModel에서의 Input은 아래와 같습니다.
struct Input {
let musicCardDidChangeSwipe: AnyPublisher<CGFloat, Never>
let musicCardDidFinishSwipe: AnyPublisher<CGFloat, Never>
let likeButtonDidTap: AnyPublisher<Void, Never>
let dislikeButtonDidTap: AnyPublisher<Void, Never>
}
와 같은 로직이 흘러갑니다.
이 두개의 과정에서 화면을 보여주는 관점에서 충돌이 일어났습니다.
<임계값을 넘어간 카드를 손에서 놓은 순간>
⇒ 애니메이션이 끝나기도 전에 현재 카드의 정보가 업데이트 되고 있다.
카드가 넘어가는 화면의 애니메이션과 별개로 currentMusicTrack와, nextMusicTrack의 값은 변경되고 있습니다.
→ 애니메이션이 끝나는 것을 기다려주지 않는다.