我有一个API,它返回一个字典数组,我正在尝试date
使用Swift的Dictionay(grouping:)
功能按每个项目中的键对它进行分组。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"]
。
您的代码自相矛盾。当你说
let groupedByDate = Dictionary(grouping: json, by: {
(item) -> String in
您正在签订合同,将从该关闭中返回String。
但是当你说
return (item as! [String:AnyObject])["date"]
您返回的是AnyObject,而不是String。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句