使用阵列的NSMutableArray找到最大的数组

时间:2013-12-03 21:18:36

标签: ios objective-c nsmutablearray nsarray nsdictionary

我有一个NSArrays的NSMutableArray,我想帮助找到包含最多项目的NSArray。

最初我有一个NSDrray的NSArray,在NSDictionarys中有一个名为space的NSString,它是逗号分隔的。 我正在将所有这些值读入NSArray,然后将NSArray存储到NSMutableArray中。

这是代码......我不确定这是否是最好的方法。

for (int m = 0; m < axisCount; m++) {
    NSDictionary *tempDictionary  = [infoArray objectAtIndex:m];
    NSDictionary *tempSymbolsDictionary = [tempDictionary objectForKey:@"Symbols"];
    NSDictionary *currentSymbolsDictionary = [tempSymbolsDictionary objectForKey:@"CurrentSymbols"];



 NSString *tempSpaceSymbolsString = [currentSymbolsDictionary objectForKey:@"SpaceSy"]; // looks something like 1;2;3;4;
    NSArray *newSpaceSysArray = [tempSpaceSymbolsString componentsSeparatedByString:@";"];
    [findSpacingSymbolsForPositionsMArray addObject:newSpaceSymbolsArray];

}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

由于您按顺序构建所有数组,为什么不简单地跟踪 最大的一个?

NSArray *largestArray = nil;
for (int m = 0; m < axisCount; m++) {
    // ...
    NSArray *newSpaceSymbolsArray = [tempSpaceSymbolsString componentsSeparatedByString:@";"];
    if (largestArray == nil || [newSpaceSymbolsArray count] > [largestArray count]) {
        largestArray = newSpaceSymbolsArray;
    }
}