2016-09-10 2 views
1

вечер, я пытаюсь создания APIClient, но у меня возникают проблемы с предупреждения: APIClient.swift:53:81: Cast from 'Data' to unrelated type '[String : Any]' always failsSwift 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

Без "?" после попытки компилятор, скорее всего, выдает ошибку: «Ошибки, отброшенные отсюда, не обрабатываются», –

Смежные вопросы