Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用多个对象对NSMutableArray/Dictionary进行排序_Iphone_Ios_Xcode_Nsmutablearray_Nsmutabledictionary - Fatal编程技术网

Iphone 使用多个对象对NSMutableArray/Dictionary进行排序

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或NSMutableDictionary。我将添加至少两个对象,如下所示:

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]; }];
    }

不可能!!我花了几个小时寻找这个答案!显然,我必须等待标记为正确。干杯:)