我必须按升序或降序对下列数组对象进行排序。
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
似乎你想按你的值排序。虽然没有对NSDictionary
进行排序,但您可以以您喜欢的方式获得键的数组。看一下
- (NSArray *)keysSortedByValueUsingSelector:(SEL)comparator
- (NSArray *)keysSortedByValueWithOptions:(NSSortOptions)opts usingComparator:(NSComparator)cmptr
然后遍历该数组中的键,并从字典中获取匹配的值