전체 글44 [ChatGPT 검색] Driver vs Relay Driver와 Relay는 모두 RxSwif에서 사용되는 유틸리티 클래스로, 특히 UI와의 바인딩 작업에서 편리하게 사용됩니다. 그러나 목적과 특징 면에서 차이가 있습니다. Driver - Driver는 주로 UI 업데이트와 바인딩에 사용되는 특수한 형태의 옵저버블입니다. - UI 업데이트와 관련된 작업은 기본적으로 메인 스레드에서 실행됩니다. - 에러 이벤트를 방출하지 않고, 메인 스레드에서만 실행되도록 보장됩니다. - Driver는 asDriver 메서드를 사용하여 생성할 수 있습니다. let driver = observable.asDriver(onErrorJustReturn: defaultValue) Relay - Relay는 BehaviorSubject와 PublishSubject를 감싼 간단한 .. 2024. 2. 27. Delegate: AnyObject Delegate를 사용해서 ViewController 간의 데이터를 전달하는 것을 연습했다. 강의에서 Delegate를 AnyObject를 상속받아서 클래스화 시켰는데 이유를 모르겠어서 찾아봤다. SettingViewController는 SettingDelegate를 채택하는 무언가가 필요하다. 이 앱에서는 MainViewController가 SettingDelegate를 채택하고 있다. 따라서 MainViewController는 SettingViewController를 참조하고 SettingViewController는 MainViewController를 참조하게 된다. 위와 같이 서로를 참조하게 되는 경우 순환참조가 발생할 수 있으니 이를 방지하기 위해 delegate를 weak로 선언해주고 싶다. .. 2023. 12. 23. 어떤 상사와 일 하고 싶으세요? 2023. 12. 21. Timer DatePicker로 시간을 설정하는 카운트 다운 타이머 앱. 보는 강의가 UIKit으로 구현하여 SwiftUI로 바꿔보려고 했는데 SwiftUI에서는 카운트 다운 모드가 없었다. 이참에 SwiftUI에서 UIKit 사용하는 방법도 공부해야지 룰루~ Count Down Timer 모드로 설정하고 시간 간격은 1분으로 설정했다. Storyboard에서 알아야 할 것은 이 정도. 타이머를 동작시키기 위해서 DispatchSourceTimer를 사용하였다. var timer: DispatchSourceTimer? var duration = 60 // DatePicker에서 설정한 시간 var currentSeconds = 0 // 카운트 다운 될 시간 func startTimer() { current = du.. 2023. 12. 21. 이전 1 ··· 4 5 6 7 8 9 10 11 다음