2017-09-08 6 views
0

に私はこのエラーがあります:表現の暗黙性は「エラー?どれ

Expression implicity coerced from "Error?" to Any

を、私はそれが助けを見つけることを期待し、何を意味するのかわかりません。

let task = URLSession.shared.dataTask(with: url) { (data,response, error) in 
    if error != nil { 
     print(error) 
    } else { 
     if let urlContent = data { 
      do { 
       let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) 
       print(jsonResult) 
      } catch { 
       print("JSON Processing Failed") 
      } 
     } 
    } 
} 

task.resume() 
+0

は 'プリント(いずれかのようなエラー)として、それを試してみてください' –

答えて

1

この行を確認します。

print(error) 

あなたはオプションの値を印刷しています。あなたはそれをif letで包むべきです。

if let error = error { 
    print(error) 
} 
+1

実は、彼が使用する必要があります '聞かせてエラーが= ERROR' – JeremyP

+1

@JeremyPあなたは絶対的に正しいであれば、それはきれいです。私の答えを編集しました。 – the4kman

+1

私は 'guard error == nil else {print(error); return} 'nはより良いインテント文です。 else節を削除して、クロージャーの本体(時には呼び出されるような幸せなパス)を左側に近く、より読みやすくします。 – Abizern