Iphone 使用多个对象对NSMutableArray/Dictionary进行排序
我有一个问题,我认为我过于复杂了 我需要创建NSMutableArray或NSMutableDictionary。我将添加至少两个对象,如下所示:Iphone 使用多个对象对NSMutableArray/Dictionary进行排序,iphone,ios,xcode,nsmutablearray,nsmutabledictionary,Iphone,Ios,Xcode,Nsmutablearray,Nsmutabledictionary,我有一个问题,我认为我过于复杂了 我需要创建NSMutableArray或NSMutableDictionary。我将添加至少两个对象,如下所示: NSMutableArray *results = [[NSMutableArray alloc] init]; [results addObject: [[NSMutableArray alloc] initWithObjects: [NSNumber numberWithInteger:myValue01], @"valueLabel01",
NSMutableArray *results = [[NSMutableArray alloc] init];
[results addObject: [[NSMutableArray alloc] initWithObjects: [NSNumber numberWithInteger:myValue01], @"valueLabel01", nil]];
这为我提供了所需的数组,但在添加所有对象后,我需要能够按第一列(integers-myValues)对数组进行排序。我知道有键时如何排序,但我不确定如何添加键,或者是否有其他方法对数组排序
稍后我可能会向阵列添加更多对象。快速参考此问题的另一个伟大答案:
NSSortDescriptors在这些情况下可能是您最好的朋友:)您在这里所做的是创建一个包含两个元素的列表:[NSNumber numberWithInteger:myValue01]和@“valueLabel01”。在我看来,你想保留记录,每个记录都有一个数字和一个字符串?您应该首先创建一个包含数字和字符串的类,然后考虑排序。SorterDarrayusingComparator:方法对您有用吗?比如:
- (NSArray *)sortedArray {
return [results sortedArrayUsingComparator:(NSComparator)^(id obj1, id obj2)
{
NSNumber *number1 = [obj1 objectAtIndex:0];
NSNumber *number2 = [obj2 objectAtIndex:0];
return [number1 compare:number2]; }];
}
不可能!!我花了几个小时寻找这个答案!显然,我必须等待标记为正确。干杯:)