为什么我在尝试向 iOS Swift 中的服务器发出 post 请求时出现此错误:在展开可选值时意外发现 nil?

Why I get this error while trying to make post request to a server in iOS Swift: unexpectedly found nil while unwrapping an Optional value?

 func uploadImage(var image:UIImage)
{
    var imageData = UIImagePNGRepresentation(image)
    let base64String = imageData!.base64EncodedStringWithOptions([.Encoding64CharacterLineLength]) 
    let parameters = [
        "img": base64String
    ]

    Alamofire.request(.POST, API_URL, parameters:parameters) .response {
        (request, response, data, error) in   
    }    
}

图像不为零。而且我找不到哪个值实际上是零。

imageData 可能为零。始终执行 nil 检查并避免展开。

func uploadImage(var image:UIImage) {
  if let imageData = UIImagePNGRepresentation(image), let base64String = imageData.base64EncodedStringWithOptions([.Encoding64CharacterLineLength]) {
    let parameters = [
      "img": base64String
    ]

    Alamofire.request(.POST, API_URL, parameters: parameters) .response {
      (request, response, data, error) in   
    }
  }    
}