sorting一个NSArray的NSDictionary对象的最佳方法?
我努力尝试sorting字典数组。
我的字典有一些价值的兴趣,价格,知名度等
有什么build议么?
像这样使用NSSortDescriptor
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest" ascending:YES]; stories = [stories sortedArrayUsingDescriptors:@[descriptor]]; recent = [stories copy];
stories
是你想sorting的数组。 recent
是另一个可变数组,它对字典值进行了sorting。 用您必须对其进行sorting的关键值更改@"interest"
。
祝一切顺利
[array sortUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
我真的不想把它分成多行。 这对我来说已经够简单了。
您可以从父项遍历到所需的子项目。 例如
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"parent.child.child" ascending:YES];
更新,sortUsingDescriptors现在是sortedArrayUsingDescriptors
所以,就像:
items = [items sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
编写一个sorting函数,比较两个字典中的相关字段。 当你有这个版本,你可以例如使用NSArray#sortedArrayUsingFunction:context:
来sorting你的数组。
请参阅NSArray类参考
array = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
记住分配给数组