我有一个名为NSArray
的{{1}},其记录如下:
self.ownerOrderArray
我还有一个order array is (
"Date Of Birth",
republic,
Marriage,
Currency,
Incentive,
"Interview Dates",
hobbies,
"Tanki Online",
skills,
"Sal Range"
)
作为NSMutableDictionary
哪个日志:
这样的日志:
self.tempDict
如何获得上述字典,其键/值的排序顺序与tempDict dictionary is>>>>> {
Currency = 56789;
"Date Of Birth" = "2014-03-15";
Incentive = 5;
"Interview Dates" = "Jan 20";
Marriage = "2014-03-29";
"Sal Range" = "|#|0 - 10k|#|10k - 20k|#|20k -30k|#|30k-40k|#|40k-50k|#|";
"Tanki Online" = Thunder;
hobbies = Cricket;
republic = 26jan;
skills = "|#|PHP|#|Java|#|Python|#|objctive-c|#|c|#|c++|#|objective-c++|#|c#|#|";
}
相同?
答案 0 :(得分:1)
由于字典没有订单,您无法获得以相同顺序记录值的字典。
您可以做的是使用objectsForKeys:notFoundMarker:
获取与您的键数组的顺序相匹配的值数组。如果您拥有所有密钥,那么未找到的标记不是问题,只需将其设置为[NSNull null]
即可。如果您没有所有密钥,那么您需要注意结果数组中的空值。
答案 1 :(得分:0)
按照Wain的说法,“你不能得到一个字典,按照你给出的顺序记录值”。
首先按字典的升序或降序对所有键进行排序,然后获取排序数组键索引的值。像这样
NSDictionary *valuesDictionary = //Your Response Dictionary ;
NSArray *sortedKeys = [[dict allKeys] sortedArrayUsingSelector: @selector(compare:)];
NSMutableDictionary *orderedDictionary = [NSMutableDictionary dictionary];
for (NSString *key in sortedKeys){
[orderedDictionary setObject:[valuesDictionary objectForKey: key] forKey:key];
}
这应该适合你。