2016-09-10 76 views
1

晚上,我試圖創造一個APIClient,但我有一個警告一個問題: APIClient.swift:53:81: Cast from 'Data' to unrelated type '[String : Any]' always fails雨燕3.0:數據以JSON [字符串:任何]

在這段代碼中,我試圖將數據轉換爲JSON作爲詞典[String : Any]

我猜編譯器不知道這個轉換是否可能或不可能,所以它會拋出錯誤,但我敢肯定它會工作。那麼,我該如何避免這個警告,或者我該如何編寫更安全的代碼呢?

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

。 – Moritz

+2

謝謝埃裏克! –

回答

3

正確的方法是:

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

感謝您使用錯誤的方法來Eric Aya

+0

沒有「?」在嘗試之後,編譯器可能會拋出一個錯誤,指出「從這裏拋出的錯誤未被處理」 –