Ios 基于单对象密钥的排序字典
我想要一些帮助,根据每个对象ISV键对NSDictionary值的NSArray进行排序 这是我到目前为止创建数组对象的代码,这样您就可以更好地了解我要做的事情Ios 基于单对象密钥的排序字典,ios,objective-c,nsarray,nsdictionary,Ios,Objective C,Nsarray,Nsdictionary,我想要一些帮助,根据每个对象ISV键对NSDictionary值的NSArray进行排序 这是我到目前为止创建数组对象的代码,这样您就可以更好地了解我要做的事情 NSArray *combinedKeysArray = [NSArray arrayWithObjects:@"HASM", @"ISL", @"ISV", nil]; valuesCombinedMutableArray = [NSMutableArray arrayWithObjects:[dict objectForKey:@
NSArray *combinedKeysArray = [NSArray arrayWithObjects:@"HASM", @"ISL", @"ISV", nil];
valuesCombinedMutableArray = [NSMutableArray arrayWithObjects:[dict objectForKey:@"HASM"],
[dict objectForKey:@"ISL"],
[dict objectForKey:@"ISV"],
nil];
combinedDictionary = [NSDictionary dictionaryWithObjects:valuesCombinedMutableArray
forKeys:combinedKeysArray];
[unSortedrray addObject:combinedDictionary];
// how do I then sort unSortedArray by the string values in each object ISV key?
任何帮助都将不胜感激。这可以解决您的问题 如何对包含自定义对象的NSMutableArray进行排序? 您可以使用NSSortDescriptor对NSAREARY进行排序
然后在NSArray中有一个名为sortedarrayingdescriptor
或者NSComparisonResult有时也会有所帮助您将无法对未排序的数组进行排序
,因为其中只有一个元素(即在最后一行代码中,您通过添加对象
添加单个对象)
也就是说,你也不能对字典进行排序。。b/c字典按定义不排序
您可以按照特定的顺序迭代字典的键,但是,您可以对包含字典键的数组进行排序
NSArray *keys = [theDictionary allKeys];
NSArray *sortedKeys = [keys sortedArrayUsingSelector:@selector(compareMethod:)];
您可以使用-sortedarrayingcomparator:按需要进行排序
[unSortedrray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *dict1, NSDictionary *dict2) {
return [[dict1 objectForKey:@"ISV"] localizedCompare:[dict2 objectForKey:@"ISV"]];
}];
我不明白。。在unSortedarray
中有哪些内容需要迭代。。它只有一个目标!对不起,abbood,我应该解释一下,这是一个for循环,所以有很多对象。我只是想在不使事情复杂化的情况下,让对象类型/结构更容易理解。我想你应该用for循环更新你的问题。。b/c就目前的情况而言,这没有多大意义。好的,我会调查你的链接,让你知道我是怎么做的。