根据Swift中Dictionary
的头部文档说明:
Key
到Value
实例的基于哈希的映射。同时也是一个包含键值对但没有定义顺序的集合。
特别需要注意- 没有定义顺序
.
有了这个理解,我对这些计算变量(以及相关方法)的理解还不够:
// The position of the first element in a non-empty dictionary.
var startIndex: DictionaryIndex<Key, Value> { get }
// The collection's "past the end" position.
var endIndex: DictionaryIndex<Key, Value> { get }
这里的“index”是指一个“DictionaryIndex”。然而,关于“DictionaryIndex”的文档有点循环定义:
用于访问“Dictionary ”实例中的键值对。
那么,“DictionaryIndex”的目的究竟是什么?
NSDictionary
对于键有一个定义好的顺序,只是苹果没有记录它是什么,并且将来可能会更改。键按照使字典访问最快的顺序排序(或在NSMutableDictionary的情况下,使修改字典最快的顺序)。 - Abhi Beckertif let index = d.indexForKey("key") { let (k, v) = d[index] ; println((k, v)) }
。 - Martin R