Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-按相同顺序解码词典_Ios_Swift - Fatal编程技术网

Ios Swift-按相同顺序解码词典

Ios Swift-按相同顺序解码词典,ios,swift,Ios,Swift,我有一个JSON,它告诉我每个商店的剩余存货。stock变量保存一个字典,其中store number作为键,quantity剩余作为值,我的要求是以相同的顺序显示它,但是,当我使用字典解码它时,顺序显然变得混乱。有没有办法维持顺序并解码,因为我们知道字典是不排序的,也不可能这样,所以解决办法是将它转换为元组数组并使用它 "quantityRemaining":{ "stock":{ "1000&

我有一个JSON,它告诉我每个商店的剩余存货。stock变量保存一个字典,其中store number作为键,quantity剩余作为值,我的要求是以相同的顺序显示它,但是,当我使用字典解码它时,顺序显然变得混乱。有没有办法维持顺序并解码,因为我们知道字典是不排序的,也不可能这样,所以解决办法是将它转换为元组数组并使用它

    "quantityRemaining":{
         "stock":{
            "1000":5,
            "2000":4,
            "3000":9,
            "4000":15,
            "5000":12
         }
     }
考虑到您已经将其解码为
stock
,您需要将其转换为元组数组并对其进行排序,然后改用它

    "quantityRemaining":{
         "stock":{
            "1000":5,
            "2000":4,
            "3000":9,
            "4000":15,
            "5000":12
         }
     }
var tuplesArray:[(字符串,Int)]=[]
stock.forEach{(键,值)在
tupleArray.append((键,值))
}
var sorted=tuplesArray.sorted(按:{$0.0<$1.0})
打印(已排序)/[(“1000”,5),(“2000”,4),(“3000”,9),(“4000”,15),(“5000”,12)]
其中
元组数组[0].0//是键


元组数组[0]。1//是值

字典是无序集合。编写一个自定义的
init(来自decoder:decoder)
函数,并将
stock
映射到一个元组数组中,您可以根据字典键对其进行排序。请您向我们提供代码的解码部分好吗?字典没有订单。要显示它们时,请对值进行排序。或者使用另一种结构。