2013-04-14 1 views
0

Я пытаюсь использовать набор NSSet и NSMutable для сравнения набора чисел с помощью функции IntersectSet. Тем не менее, я считаю, что я против типа, используя целые числа. Есть ли способ создать NSSet и использовать функцию IntersectsSet для целых чисел. Есть ли другой способ выполнить это?Сравнение наборов чисел

Вот фрагмент кода:

NSSmutableArray *compareRow [[NSMutableArray alloc] init]; 
NSSet *A_Table = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"11", @"12",nil]; 

//... 
//Reading some data from a file. 

     //Populate the tables with the third arrays 
     [currentHistoryRow addObject:[NSNumber numberWithInt:post1]]; 
     [currentHistoryRow addObject:[NSNumber numberWithInt:post2]]; 
     [currentHistoryRow addObject:[NSNumber numberWithInt:post3]]; 
     [currentHistoryRow addObject:[NSNumber numberWithInt:post4]]; 
     [currentHistoryRow addObject:[NSNumber numberWithInt:post5]]; 


     NSSet *compareRow = [[NSSet alloc] initWithArray:currentHistoryRow]; 

     if ([compareRow intersectsSet:A_Table]) { 
      // You'll see this message 
      NSLog(@"subset present"); 
     } 

Я полагаю A_Table и compareRow не одного и того же типа, поэтому условие никогда не верно.

+1

Опубликовать код. –

ответ

1

Оберните целые числа в NSNumber, а затем добавьте их в NSSet. Пересечение будет работать как рекламируемое.

NSSet *set = [NSSet setWithObjects: @10, @20, nil]; 
// etc. 

 Смежные вопросы

  • Нет связанных вопросов^_^