我想知道如果有人能告诉我如何排序NSDictionary
;我想从最后一项开始读取它,因为关键是Date + Time,我希望能够将它附加到NSMutableString
。我能够使用枚举器读取它,但我没有得到我想要的结果。排序NSDictionary
感谢
我想知道如果有人能告诉我如何排序NSDictionary
;我想从最后一项开始读取它,因为关键是Date + Time,我希望能够将它附加到NSMutableString
。我能够使用枚举器读取它,但我没有得到我想要的结果。排序NSDictionary
感谢
您的要求最简单的方法是创建密钥的新阵,那种,然后使用数组从原来的字典引用的项目。
(注意myComparison是你自己的方法,将比较两个键)。
NSMutableArray* tempArray = [NSMutableArray arrayWithArray:[myDict allKeys]];
[tempArray sortedArrayUsingSelector:@selector(myComparison:)];
for (Foo* f in tempArray)
{
Value* val = [myDict objectForKey:f];
}
我已经聚集了一些StackOverflow上的其他建议排序上一个NSDictionary到的东西非常紧凑,即会按字母顺序排序。我在'路径'中有一个Plist文件,我将其加载到内存中并希望转储。
NSDictionary *glossary = [NSDictionary dictionaryWithContentsOfFile: path];
NSArray *array1 = [[glossary allKeys] sortedArrayUsingDescriptors:@[ [NSSortDescriptor sortDescriptorWithKey:@"" ascending:YES selector:@selector(localizedStandardCompare:)] ]];
for (int i=0; i<array1.count; i++)
{
NSString* key = [array1 objectAtIndex:i];
NSString* value = [glossary objectForKey:key];
NSLog(@"Key=%@, Value=%@", key, value);
}