为什么我的来自 json 的 NSDictionary 排序如此?

Why my NSDictionary that was from json sorted like this?

当我接听电话时,我试图在我的 NSDictionary 中获取与 json 相同的排序数据。我不知道为什么我会得到这样的数据?如果有办法,怎么做呢?请帮忙!!

NSDictionary 总是没有顺序。如果您枚举或打印它,它基本上会以随机顺序出现。如果你想订购它,你必须获取键和值并自己对它们进行排序,或者使用 NSDictionary 以外的东西。

字典未排序。您必须创建一个数组以包含所有字典元素才能对其进行排序。在您的情况下,要获取按升序排序的键数组

let sortedKeys = (dictionary.allKeys as NSArray).sortedArrayUsingDescriptors(
  [NSSortDescriptor(key:"self" ascending:true)])

当然,如果你使用真正的Swift字典,你可以写得更优雅:

let sortedKeys = Array(dictionary.keys).sorted(<)