일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 러닝타이머
- CoreLocation
- MKMapViewDelegate
- weak var
- CLLocationManagerDelegate
- SwiftUI Boolean 값
- 한국어 개인정보처리방침
- Timer
- font book
- addannotation
- App Store Connect
- WeatherManager
- Protocol
- swift
- UIAlertAction
- RunningTimer
- Startign Assignments
- Required Reason API
- UICollectionViewFlowLayout
- dispatchsource
- 클로저의 캡슐화
- 단일 책임원칙
- xcode로 날씨앱 만들기
- 러닝기록앱
- 서체관리자
- MKMapItem
- 영문 개인정보처리방침
- Xcode
- AnyObject
- weatherKit
Archives
- Today
- Total
VesselWheel
[Trobule Shooting] 러닝타이머 거리값이 pause 버튼을 누렀다가, 다시 재개를 누르면 계속 기록되지 않고 멈춤 본문
Xcode Study
[Trobule Shooting] 러닝타이머 거리값이 pause 버튼을 누렀다가, 다시 재개를 누르면 계속 기록되지 않고 멈춤
JasonYang 2024. 3. 15. 10:43현재 문제점
-> 러닝타이머 거리값이 pause 버튼을 누렀다가, 다시 재개를 누르면 계속 기록되지 않고 멈춤
1. 버튼의 target 매소드인 restartRunning()에는 시간값을 책임하는 restart() 매소드가 있다.
상기 코드에서 보면
self.runningTimer.restart()
self.dismiss(animated: true) {
self.delegate?.didDismissPauseRunningHalfModalViewController()
}
runningTimer 클래스를 델리게이트 패턴 선언하고 PauseRunningHalfModalViewController에서 객체화하고 나서,
restart()매소드를 호출하고 있다.
class PauseRunningHalfModalViewController: UIViewController {
let runningTimer = RunningTimer()
weak var delegate: PauseRunningHalfModalViewControllerDelegate?
그러나, runningTimer.restart() 는 싱글톤 패턴으로 restart() 매소드를 호출하고 있고,
마찬가지로, self.delegate?.didDismissPauseRunningHalfModalViewController()도 델리게이트 패턴으로 restart() 매소드를 호출하고 있어 중복되는 코드이며, 거리값은 재개를 하지 않는 문제점이 발생했다.
protocol PauseRunningHalfModalViewControllerDelegate: AnyObject {
func didDismissPauseRunningHalfModalViewController()
}
import UIKit
import CoreLocation
class PauseRunningHalfModalViewController: UIViewController {
func didDismissPauseRunningHalfModalViewController() {
runningTimer.restart()
}
'Xcode Study' 카테고리의 다른 글
[Trouble Shooting] 러닝레코드 프로퍼티 무한값일 때 충돌 (0) | 2024.03.18 |
---|---|
[Trouble Shooting] 러닝맵 업체 정보 버튼 확장 간 RequestQuery 제한(feat. cache) (0) | 2024.03.16 |
weatherKit을 활용한 러닝맵에 날씨정보 호출하기 Vol.2(with Combine, ViewModel) (0) | 2024.03.13 |
weatherKit을 활용한 러닝맵에 날씨정보 호출하기 (0) | 2024.03.12 |
Apple Developer 등록하기 및 협업하기 (0) | 2024.03.11 |