[swift] SwiftEventBus를 사용하여 소리 출력 완료 이벤트 처리하는 방법은 어떻게 되는가?
먼저, SwiftEventBus를 프로젝트에 추가해야 합니다. SwiftEventBus는 쉽게 이벤트를 발행하고 구독하며 처리할 수 있는 라이브러리입니다.
- SwiftEventBus를 프로젝트에 추가합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.
pod 'SwiftEventBus'
- Podfile을 업데이트합니다.
$ pod install
- SwiftEventBus를 import합니다.
import SwiftEventBus
- 소리 출력 완료 이벤트를 발행하는 코드를 작성합니다.
let soundPlayer = SoundPlayer() soundPlayer.playSound(completion: { SwiftEventBus.post("soundPlaybackCompleted") })
- 이벤트를 처리하는 코드를 작성합니다. 이 코드는 원하는 위치에 작성하면 됩니다.
SwiftEventBus.onMainThread(target: self, name: "soundPlaybackCompleted", sender: nil) { result in // 소리 출력 완료 이벤트가 발생했을 때 수행할 작업을 여기에 작성합니다. print("소리 출력이 완료되었습니다.") }
이렇게 하면 소리 출력 완료 이벤트가 발생하였을 때, 등록한 코드 블록이 실행됩니다. eventBus.post 메소드를 사용하여 다른 클래스에서 이벤트를 발생시킬 수도 있습니다.
참고자료: