【发布时间】:2015-09-08 16:47:08
【问题描述】:
我订阅了AVAudioSessionRouteChangeNotification。
为什么下面会返回nil?
notification.userInfo?[AVAudioSessionRouteChangeReasonKey] as? AVAudioSessionRouteChangeReason
所有其他选项都有效,例如返回Optional(2):
notification.userInfo?[AVAudioSessionRouteChangeReasonKey]
notification.userInfo?[AVAudioSessionRouteChangeReasonKey] as? UInt
notification.userInfo?[AVAudioSessionRouteChangeReasonKey] as? NSNumber
我发现第一个选项最清晰/可读。
编辑 2021-04-15:
在当前的 Xcode 版本 12.4 (Swift 5.3.2) 中,它不会返回 nil。现在可以使用以下方法:
notification.userInfo?[AVAudioSessionRouteChangeReasonKey] as? AVAudioSession.RouteChangeReason
【问题讨论】:
标签: swift avfoundation foundation avaudiosession