避免在 NSDictionary 中排序
Posted
技术标签:
【中文标题】避免在 NSDictionary 中排序【英文标题】:Avoiding sorting in NSDictionary 【发布时间】:2010-04-21 09:03:48 【问题描述】:我正在使用 NSDictionary 并且我观察到字典中的对象是根据键自动排序的,所以我的问题是如何避免这种排序,任何可用于设置它的标志,所以我得到相同的对象我输入的顺序。
我知道你可能在想它在字典中有什么不同,因为我们检索键的值,但我首先得到 allKeys,我从中接收键数组,这个顺序是我需要它在我输入的顺序就像在 NSArray 中一样。
【问题讨论】:
【参考方案1】:我猜在 NSDictionary 中不会有控制排序的方法,因为 'NSDictionary' 是一个哈希表,它使用哈希函数来选择存储值的位置(以便快速访问)。
要自定义字典,您可以使用 CFDictionaryRef 在那里您可以编写自定义回调。您可以编写自己的 CFDictionaryHashCallBack 函数来计算存储位置。 CFDictionary 与 NSDictionary 是“免费桥接”的。问候Devara Gudda
【讨论】:
以上是关于避免在 NSDictionary 中排序的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中对 NSDictionary 对象的 NSArray 进行排序