[swift] SwiftEventBus를 사용하여 소리 출력 완료 이벤트 처리하는 방법은 어떻게 되는가?

먼저, SwiftEventBus를 프로젝트에 추가해야 합니다. SwiftEventBus는 쉽게 이벤트를 발행하고 구독하며 처리할 수 있는 라이브러리입니다.

  1. SwiftEventBus를 프로젝트에 추가합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.
    pod 'SwiftEventBus'
    
  2. Podfile을 업데이트합니다.
    $ pod install
    
  3. SwiftEventBus를 import합니다.
    import SwiftEventBus
    
  4. 소리 출력 완료 이벤트를 발행하는 코드를 작성합니다.
    let soundPlayer = SoundPlayer()
    soundPlayer.playSound(completion: {
     SwiftEventBus.post("soundPlaybackCompleted")
    })
    
  5. 이벤트를 처리하는 코드를 작성합니다. 이 코드는 원하는 위치에 작성하면 됩니다.
    SwiftEventBus.onMainThread(target: self, name: "soundPlaybackCompleted", sender: nil) { result in
     // 소리 출력 완료 이벤트가 발생했을 때 수행할 작업을 여기에 작성합니다.
     print("소리 출력이 완료되었습니다.")
    }
    

이렇게 하면 소리 출력 완료 이벤트가 발생하였을 때, 등록한 코드 블록이 실행됩니다. eventBus.post 메소드를 사용하여 다른 클래스에서 이벤트를 발생시킬 수도 있습니다.

참고자료: