关于NSMutableDictionary排序

来源:互联网 发布:安安电子狗软件 编辑:程序博客网 时间:2024/04/27 06:14

NSMutableDictionary 是不可以排序的,所以可以通过先对KEY排序,之后再对关于NSMutableDictionary排序



NSArray *myKeys = [mDict allKeys];NSArray *sortedKeys = [myKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];NSMutableArray *sortedValues = [[[NSMutableArray alloc] init] autorelease];for(id key in sortedKeys) {    id object = [mDict objectForKey:key];    [sortedValues addObject:object];}

 Another example

{  "100"  => (id)object,  "20"   => (id)object,  "10"   => (id)object,  "1000" => (id)object,}
{  "10"   => (id)object,  "20"   => (id)object,  "100"  => (id)object,  "1000" => (id)object,}

NSInteger floatSort(id num1, id num2, void *context){    float v1 = [num1 floatValue];    float v2 = [num2 floatValue];    if (v1 < v2)        return NSOrderedAscending;    else if (v1 > v2)        return NSOrderedDescending;    else        return NSOrderedSame;}NSArray *allKeys = [aDictionary allKeys];NSArray *sortedKeys = [allKeys sortedArrayUsingFunction:floatSort context:NULL];for (id key in sortedKeys)    id val = [aDictionary objectForKey:key];    

原创粉丝点击