如何在iphone中匹配数组与数组?

时间:2011-05-05 06:25:18

标签: iphone objective-c arrays

喜 我有一个像这样的数组:

array1 [00] = 01,KSE
array1 [01] = 04,NCEL
array1 [02] = 06,LSE

我有第二个数组(codeArray),它有大约50个元素。所有元素都是'01'或'04'或'06'。

现在我必须比较两个阵列和array1必须针对代码返回一个名称(KSE或NCEL或LSE),那么我该怎么做呢? 帮助PLZ

提前完成

array1是我从服务器& codeArray也来自服务器,这就是为什么两个阵列都是动态的&可以有任何值,但codeArray中的所有值都将存在于array1

2 个答案:

答案 0 :(得分:1)

您使用的是C数组还是NSArray?我会假设NSArray,好吗?对不起,我很难理解你的问题。

-(NSArray*)decodeArray:(NSArray*)codeArray keyArray:(NSArray*)array1
{
    NSMutableDictionary * dict = [ NSMutableDictionary dictionary ] ;
    for( NSString * string in array1 )
    {
        NSArray * split = [ string componentsSeparatedByString:@"," ] ;
        [ dict setValue:[ split objectAtIndex:1 ] forKey:[ split objectAtIndex:0 ] ] ;
    }

    NSMutableArray * result = [ NSMutableArray array ] ;
    for( id item in codeArray )
    {
        [ result addObject:[ dict valueForKey:item ] ] ;
    }

    return result ;
}

答案 1 :(得分:0)

array1[0] = "01,KSE";
array1[1] = "04,NCEL";
array1[2] = "06,LSE";

if( [codeArray length] == 3 ) {
  if( ([codeArray[0] isEqualToString:@"01"] || [codeArray[0] isEqualToString:@"04"] ||
      [codeArray[0] isEqualToString:@"06"]) && ([codeArray[1] isEqualToString:@"01"] ||
      [codeArray[1] isEqualToString:@"04"] || [codeArray[1] isEqualToString:@"06"]) &&
      ([codeArray[2] isEqualToString:@"01"] || [codeArray[2] isEqualToString:@"04"] ||
      [codeArray[2] isEqualToString:@"06"]) )
           return @"KSE KSE & LSE";

这就是我可以回答你的问题......