У меня есть API, который возвращает массив словарей, и я пытаюсь сгруппировать его по ключу date
в каждом элементе с помощью функции Dictionay(grouping:)
Swift.JSON выглядит следующим образом:
[
{ "date": "2018-12-12", "name": "abc" },
{ "date": "2018-12-12", "name": "def" },
{ "date": "2018-12-13", "name": "def" },
...
]
У меня есть следующий быстрый код, который генерирует ошибку компиляции:
let json = response.result.value as! Array<[String:AnyObject]>
let groupedByDate = Dictionary(grouping: json, by: { (item) -> String in
return (item as! [String:AnyObject])["date"]
})
При компиляции я получаю эту ошибку:
Cannot subscript a value of type '[String : AnyObject]' with an index of type 'String'
и это предупреждение:
Cast from '_' to unrelated type '[String : AnyObject]' always fails
Я очень смущен, потому что переменная item
явно имеет тип [String:AnyObject]
, и я могу индексировать в json в отладчике, выполняя po json[0]["date"]
.