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];
}
NSMutableDictionary 是不可以排序的,所以可以通过先对KEY排序,之后再对关于NSMutableDictionary排序
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];
…
本文详细介绍了如何使用Objective-C对NSMutableDictionary中的键值对进行排序。首先通过获取所有键,然后对这些键进行排序,最后遍历排序后的键并获取对应的值。此外,文章还提供了一个实际例子来说明排序过程。
212

被折叠的 条评论
为什么被折叠?



