我得到了NSDictionary这样的一对:
Key -> Value:
@"home" -> @"blue"
@"family" -> @"green"
@"work" -> @"red"更新的
互联网上说没有人能对NSDictionary :c进行排序
这段代码在价值观上帮助了我。
sortedArray = [anArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];但我失去了钥匙和价值观之间的联系。如果任何人都可以编写函数,而函数采用NSDictionary,并生成两个NSArray,这是相关的,其中一个数组按照NSDictionary的值排序,如下所示:
(unsorted)
Key -> Value:
@"work" -> @"red"
@"home" -> @"blue"
@"family" -> @"green"改为:
Arrays, which keep relationship by index of item and one of them (values of NSDictionary) sorted
ArrayOfKeys = {@"home",@"family",@"work"}
ArrayOfValues = {@"blue", @"green", @"red"} -- this one sorted like alphabet发布于 2013-10-13 12:35:40
您可以使用keysSortedByValueUsingComparator、keysSortedByValueWithOptions或keysSortedByValueUsingSelector等方法按排序顺序访问密钥。但根据定义,NSDictionary本身没有任何概念或顺序。
发布于 2013-10-13 12:29:42
您不能对NSDictionary进行排序。如果需要,可以创建一个对象来保存其中的键和值,然后添加到数组中,并使用排序描述符对键字段进行排序。
发布于 2015-03-31 01:09:46
NSDictionary不是一个有序集合,但是您可以使用比较器(如keysSortedByValueUsingComparator、keysSortedByValueUsingSelector )对其键进行排序。
https://stackoverflow.com/questions/19344737
复制相似问题