2016-09-10 3 views
1

夕方には、私はAPIClientを作成しようとしているが、私は警告の問題を抱えている: APIClient.swift:53:81: Cast from 'Data' to unrelated type '[String : Any]' always failsスウィフト3.0:JSONへのデータ[文字列:任意]

私はこのコードでデータに変換しようとしています。[String : Any]としてJSONを入力してください。

コンパイラは、このキャストが可能か不可能かを知ることができないので、エラーをスローしますが、動作することは間違いありません。では、この警告を避けるにはどうすればよいでしょうか、より安全なコードを書くにはどうしたらいいですか?

case 200: 
     do { 
      let json = try JSONSerialization.data(withJSONObject: data!, options: []) as? [String : Any] 
      completion(json, HTTPResponse, nil) 
     } catch let error { 
      completion(nil, HTTPResponse, error) 
     } 
+1

let json = try JSONSerialization.jsonObject(with: data!, options: []) as? [String : Any] 

おかげであなたは間違った方法を使用しています。 – Moritz

+2

ありがとう、エリック! –

答えて

3

右の方法は次のとおりです。Eric Aya

+0

"?"試行後、コンパイラは "ここからスローされたエラーは処理されません"というエラーをスローします –

関連する問題