按照存储为值的对象的属性sortingNSDictionary
我在NSMutableDictionary
存储数据存储由Web服务接收的数据。
我想以alpha顺序显示数据,但正如我们所知,Dictionary以其自己的方式存储数据,所以我得到不同的iOS 5和iOS 6的顺序。iOS 5很好,但在iOS 6中它改变顺序。
我将int key和object存储为值。
对象包含ID,名称和说明。
EX: key value 1 - (12,bhgjksd,kijdh) 6 - (13,kjfd,ikjk) 2 - (14,ljiuhbdf,dsjhfj)
我怎样才能sorting我的字典由Object.Name属性。 或者根据Object.Namesorting顺序获得键值。
我不想sorting的关键我想sortingObject.Name存储在值部分作为对象。
任何forms的帮助,欢迎…..在此先感谢..
尝试这个,
NSArray *sortedKeys = [dict keysSortedByValueUsingComparator: ^(id obj1, id obj2) { return (NSComparisonResult)[obj1.name compare:obj2.name];; }];
您将获得sortedKeys
数组中的所有键,按object.name
属性的顺序sorting。 您可以使用这些键从字典中获取值[dict valueForKey:[sortedKeys objectAtIndex:i]]
。 欲了解更多详情,请查看苹果文档 。
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"Object.Name" ascending:YES]; [items sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
也,
NSArray *ordered = [myDictionary keysSortedByValueUsingComparator:^NSComparisonResult(id obj1, id obj2){ return [obj1.name compare:obj2.name]; }];