5

Getting error while i sign in

DispatchQueue.main.async(execute: {
    let message = parseJSON["message"] as! String
    appDelegate.infoView(message: message, color: colorSmoothRed)
})

on line let message = parseJson["message"] as! String

Error: Fatal Error: unexpectedly found nil while unwrapping an Optional value

Anh Pham
  • 2,108
  • 9
  • 18
  • 29
Ahmad
  • 77
  • 1
  • 1
  • 4

2 Answers2

3

The value of key "message" is nil sometimes, so you need to check it:

DispatchQueue.main.async(execute: {
     if let message = parseJSON["message"] as? String {
         appDelegate.infoView(message: message, color: colorSmoothRed)
     } else {
         //do something for no-message case
     }                     
})
pkamb
  • 33,281
  • 23
  • 160
  • 191
Yun CHEN
  • 6,450
  • 3
  • 30
  • 33
2

Read about type casting.

Verify that type of the parseJSON["message"] is String before.

if let message = parseJSON["message"] as? String {

}
Oleg Gordiichuk
  • 15,240
  • 7
  • 60
  • 100