我必须按升序或降序对以下数组对象进行排序。
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", @"key3",
@"key4", @"key5", nil];
NSArray *objects = [NSArray arrayWithObjects:@"0", @"2", @"1",
@"5", @"0", nil];
NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:objects
forKeys:keys];
for (id key in [dictionary allKeys]) {
NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}
我的输出应该是这样的。
key: key4, value:5
key: key2, value:2
key: key3, value:1
key: key1, value:0
key: key5, value:0
答案 0 :(得分:1)
您似乎想按自己的价值排序。虽然未对NSDictionary
进行排序,但您可以按照自己喜欢的方式获取按键排列的数组。看看
- (NSArray *)keysSortedByValueUsingSelector:(SEL)comparator
- (NSArray *)keysSortedByValueWithOptions:(NSSortOptions)opts usingComparator:(NSComparator)cmptr
然后迭代该数组中的键并从字典中获取匹配值。