将一本词典与另一部iPhone进行排序
我有两个NSMutableDictionary对象。Dict 1的键比Dict 2少,但两个词典共享的键在语法上是相同的。我想根据dict 2中那些键的值对dict 1重新排序。Dict 2中的值是整数 有人能帮我开始吗 编辑: 我有一个键数组和一个包含键和数值的字典。字典中的键和值比数组中的键/对象多。我想根据字典中那些键的对应值对数组重新排序将一本词典与另一部iPhone进行排序,iphone,sorting,nsmutabledictionary,Iphone,Sorting,Nsmutabledictionary,我有两个NSMutableDictionary对象。Dict 1的键比Dict 2少,但两个词典共享的键在语法上是相同的。我想根据dict 2中那些键的值对dict 1重新排序。Dict 2中的值是整数 有人能帮我开始吗 编辑: 我有一个键数组和一个包含键和数值的字典。字典中的键和值比数组中的键/对象多。我想根据字典中那些键的对应值对数组重新排序 很抱歉重做了这个问题,但这更准确。您可能有一个根本性的误解NSDictionary和NSSet对象始终未排序 仅对NSArray和sensordere
很抱歉重做了这个问题,但这更准确。您可能有一个根本性的误解
NSDictionary
和NSSet
对象始终未排序
仅对NSArray
和sensorderedset
对象进行排序
您可能要做的是创建第三个对象,一个NSArray,并用您想要的任何键填充它
然后,如果遍历NSArray,可以按排序数组的顺序访问dictionary对象。是否使用Comparator:查找方法调用SortedArray?这将获取一个数组,并返回一个包含已排序元素的数组 下面是一些示例代码,它根据“排序顺序”字段中的值对字典进行排序。您应该阅读有关这些呼叫的文档:
NSComparisonResult (^sortBlock)(id, id) = ^(id obj1, id obj2) {
if ([[obj1 objectForKey:@"sortorder"] intValue] > [[obj2 objectForKey:@"sortorder"] intValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([[obj1 objectForKey:@"sortorder"] intValue] < [[obj2 objectForKey:@"sortorder"] intValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
+ (NSArray *) returnSortedArrayByAlpha:(NSArray*) inputArray whichField:(NSString*) whichField {
NSArray * sortedArray = [inputArray sortedArrayUsingComparator:sortBlock];
return sortedArray;
}
NSComparisonResult(^sortBlock)(id,id)=^(id obj1,id obj2){
如果([[obj1 objectForKey:@“sortorder”]intValue]>[[obj2 objectForKey:@“sortorder”]intValue]){
返回(NSComparisonResult)或撤销;
}
if([[obj1 objectForKey:@“sortorder”]intValue]<[obj2 objectForKey:@“sortorder”]intValue]){
返回(NSComparisonResult)或删除;
}
返回(NSComparisonResult)命令名;
};
+(NSArray*)返回排序DarrayByAlpha:(NSArray*)输入数组whichField:(NSString*)whichField{
NSArray*SortDarray=[使用比较器输入数组SortDarray:sortBlock];
返回至Darray;
}
Hi,对不起,这句话没有任何意义:“Dict 1的键比Dict 2少,但两者中的键完全相同。”可能是打字错误?我更新了问题。我的意思是,它们共享的键是相同的字符串,但dict 2中的键不在dict 1I中。我编辑了我的问题。我不知道如何只迭代字典中的一些对象,你能用我要找的数组和dict为它添加代码吗?类似于[array SorterDarrayusingComporator…]的东西是哪个comporator函数?