当我接受电话时,我正试图在NSDictionary
中获取与json相同的排序数据。我不知道为什么我得到这样的数据?如果有办法,该怎么办?请帮助!!
答案 0 :(得分:5)
NSDictionary始终没有订单。如果您枚举或打印它,它将以基本随机的顺序出现。如果你想订购,你必须自己获取密钥和值并对它们进行排序,或者使用NSDictionary之外的其他东西。
答案 1 :(得分:1)
字典未排序。您必须创建一个数组以包含所有字典元素才能对其进行排序。在您的情况下,要获得按升序排列的键数组
let sortedKeys = (dictionary.allKeys as NSArray).sortedArrayUsingDescriptors(
[NSSortDescriptor(key:"self" ascending:true)])
当然,如果你使用一个真正的Swift词典,你可以更优雅地写这个:
let sortedKeys = Array(dictionary.keys).sorted(<)