Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#59]Fix: 타이머가 끝난 후에 다음 유저 카드로 넘어가지 않는 현상 수정 #60

Merged
merged 1 commit into from
Feb 1, 2024

Conversation

Minny27
Copy link
Member

@Minny27 Minny27 commented Feb 1, 2024

Motivation ⍰

  • 간헐적으로 타이머가 끝난 후에 다음 유저 카드로 넘어가지 않는 현상 수정 위함

Key Changes 🔑

  • 문제 발생 상황은 다음과 같음
  • 이전에 소수점 셋째자리 반올림한 시간을 얻기 위해서 100의 자리에서 소수점 첫째자리 반올림 후, 100으로 나누는 작업을 실행했었는데, 실질적으로 셋째자리가 나오지는 않아서 round 함수를 없앴었음.
  • 왜 오차가 발생하고 그 오차가 간헐적으로 발생하는 지는 모르겠음.
let timer = timerActiveTrigger
      .flatMapLatest { value in
        if !value {
          if currentTime == 0 { currentTime = 8.0 } // 다음 셀로 넘어가도 0이면 자동 스크롤되므로 0초가 되면 다시 8.0으로 갱신
          startTime = currentTime
          return Driver.just(currentTime)
        } else {
          return Observable<Int>.interval(.milliseconds(10),
                                          scheduler: MainScheduler.instance)
          .take(Int(startTime * 100) + 1) // 시간의 총 개수
          .map { value in
            let time = round((startTime * 100 - Double(value))) / 100 // round 함수 추가로 소수점 첫째자리 반올림 후 100으로 나눔
            currentTime = time
            return time
          }
          .debug() // emit되는 시간을 print할 수 있음.
          .asDriver(onErrorDriveWith: Driver<Double>.empty())
        }
      }.asDriver(onErrorJustReturn: 8.0)

To Reviewers 🙏🏻

  • 이전이랑 동일하게 시간이 다 됐을 때, 다음 유저 카드로 넘어가는 지 확인해주세요.

Linked Issue 🔗

- 이전에 round 함수를 없앴는데, 없애면 오차가 발생하는 경우가 생기는 것으로 확인
- 왜 오차가 발생하고 그 오차가 간헐적으로 발생하는 지는 모르겠음.
@Minny27 Minny27 requested review from ibcylon and ChaNoo97 February 1, 2024 08:53
@Minny27 Minny27 self-assigned this Feb 1, 2024
@Minny27 Minny27 added the 🐯 Bug Something isn't working label Feb 1, 2024
Copy link
Member

@ibcylon ibcylon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다

@Minny27 Minny27 merged commit 6aca220 into main Feb 1, 2024
@Minny27 Minny27 deleted the Fix/do_not_scroll_cardview branch February 1, 2024 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐯 Bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants