gpt4 book ai didi

ios - Swift - 字典中的存储值顺序完全改变

转载 作者:IT王子 更新时间:2023-10-29 05:13:18 24 4
gpt4 key购买 nike

我试图显示字典格式的数据。下面是三个尝试。第一次尝试,输出顺序完全改变了。第二次尝试,输出顺序与输入相同。但是,在第三次尝试中,我将变量声明为 NSDictionary。我收到的确切输出。为什么这会改变字典?请指导我。我搜索了 Swift 的 Dictionary 标签。但是我找不到。

//First Attempt
var dict : Dictionary = ["name1" : "Loy", "name2" : "Roy"]
println(dict)

//output:
[name2: Roy, name1: Loy]

//Second Attempt
var dict : Dictionary = ["name2" : "Loy", "name1" : "Roy"]
println(dict)

//output:
[name2: Loy, name1: Roy]
-----------------------------------------------------------

//Third Attempt With NSDictionary
var dict : NSDictionary = ["name1" : "Loy", "name2" : "Roy"]
println(dict)

//output:
{
name1 = Loy;
name2 = Roy;
}

另一个问题:我已经使用 Playground 进行验证。我的屏幕截图如下:

play_ground_screen_shot

在这里,在 NSDictionary 中,我首先给出了 name5,但在右侧显示的是 name2,然后在 println 中,它是按升序显示的。为什么会这样??

play_ground_screen_shot_2

在这里,在字典中,我首先给出了 name5,但在右侧显示了 name2,然后在 println 中,它显示了如何在字典行中获取它。为什么会这样??

最佳答案

这是因为字典的定义:

字典

A dictionary stores associations between keys of the same type and values of the same type in an collection with no defined ordering.

没有顺序,它们输出的结果可能与输入的不同。
这类似于 NSSet。


编辑:

NS字典

Dictionaries Collect Key-Value Pairs. Rather than simply maintaining an ordered or unordered collection of objects, an NSDictionary stores objects against given keys, which can then be used for retrieval.

没有顺序,但是为了调试目的在打印时有排序。

关于ios - Swift - 字典中的存储值顺序完全改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29601394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com