我有这样的问题。 我有NSMutableDictionary
Object 10 Key 1
Object 20 Key 2
Object 30 Key 3
Object 40 Key 4
Object 50 Key 5
然后我有代码
NSArray*currentArray=[currentMutableDictionary allValues];
当我输出当前数组时,我有 值
20
50
30
10
40
如何以正确的顺序从Dictionary到Array添加obects?
感谢您的回答。
答案 0 :(得分:2)
试试这个:
NSInteger intSort(id num1, id num2, void *context)
{
int v1 = [num1 intValue];
int v2 = [num2 intValue];
if (v1 < v2)
return NSOrderedAscending;
else if (v1 > v2)
return NSOrderedDescending;
else
return NSOrderedSame;
}
NSArray *currentArray = [[currentMutableDictionary allValues] sortedArrayUsingFunction:intSort context:nil];
假设您的字典中有NSNumber对象,那么应该正确排序数组。
答案 1 :(得分:0)
你可以改为创建一个NSMutableArray并使用addObjectAtIndex方法添加迭代它的对象
答案 2 :(得分:0)
您可以使用keysSortedByValueUsingComparator
按排序顺序提取密钥,然后创建一个可变数组以放入值,并使用objectsForKeys:notFoundMarker:
提取它们。