【发布时间】:2019-12-24 08:31:02
【问题描述】:
我有这本词典,我是从网络服务中获取的:
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! Dictionary<String, AnyObject>
现在我正在尝试按字母顺序对它们进行排序:
self.appDelegate.communityArray = json.sorted(by: {$0.0 < $1.0})
但我收到此错误:
无法将 '[(key: String, value: AnyObject)]' 类型的值分配给 输入“字典?”
我做错了什么?
这就是我定义 communityArray 的方式:
var communityArray: Dictionary<String, AnyObject>?
【问题讨论】:
-
看起来您错误地将名为
communityArray的变量声明为字典而不是数组。 -
字典按定义是无序的,不能排序。你得到的是一个元组数组。这就是错误消息告诉您的内容。
-
... Swift 3+ JSON 字典总是
[String:Any],绝不是[String:AnyObject],如果预期类型是集合类型,.allowFragments毫无意义。 -
字典无法排序,
标签: swift