NEW: Subscribe to Hacking with Swift+ and accelerate your learning! >>

SOLVED: I cannot see Expected expression error

Forums > Swift

I have a function to handle interruptions such as phone calls, the game continues after the call but the background music does not. I keep getting Expected expression error but I cannot see any missing parenthesis or curly brackets.

    func handleInterruption(notification: Notification){
    guard let userInfo = notification.userInfo,
        let typeInt = userInfo[AVAudioSessionInterruptionTypeKey] as? UInt else{return}
    let type = AVAudioSession.InterruptionType(rawValue: typeInt); else do {return}      //expression error showing here.

    switch type{

    case .began:
        print("began")

        audioPlayer?.pause()
        print("audio paused")

    default:
        print("ended")

        if let optionInt = userInfo[AVAudioSessionInterruptionOptionKey] as? UInt {
            let options = AVAudioSession.InterruptionOptions(rawValue: optionInt)
            if options.contains(.shouldResume){}
            }
            }}

   

Change:

let type = AVAudioSession.InterruptionType(rawValue: typeInt); else do {return}

to:

guard let type = AVAudioSession.InterruptionType(rawValue: typeInt) else {return} 

   

Thanks for that, that has stopped the error. Much appreciated.

   

Hacking with Swift is sponsored by Paw

SPONSORED Use Paw to build, test and describe web APIs. Paw has a lightning fast native macOS interface to compose requests, collaborate in real-time on API specs, and generate client code for your applications. You can import and export API definitions.

Discover Paw for Mac

Sponsor Hacking with Swift and reach the world's largest Swift community!

Reply to this topic…

You need to create an account or log in to reply.

All interactions here are governed by our code of conduct.

 
Unknown user

Not logged in

Log in
 

Link copied to your pasteboard.