使用IndexPath检查NSMutableArray

时间:2014-04-10 03:04:37

标签: ios objective-c nsmutablearray

我将UICollectionView中的触摸项存储到NSMutableArray中,然后重新加载数据。

我的问题是,我如何检查IndexPath.row是否等于我的任何NSMutableArray对象?

我可以做类似的事情:

if(indexPath.row == [myMutableArray objectAtIndex:0])

但在这种情况下,它只检查来自我的NSMutableArray的第一个对象,我想检查所有可用对象,如果它们中的任何一个是==到indexPath.row

我是初学者,并试图找出答案。

感谢。

4 个答案:

答案 0 :(得分:4)

for(int i = 0; i< [myMutableArray count]; i ++) {

   if(indexPath.row == [[myMutableArray objectAtIndex:i]integerValue])

    {
          NSlog(@"equal");
          // your actions
    }
   else
   {
           NSlog(@"not equal");
          // your actions
   }

}

答案 1 :(得分:2)

  if (indexPath.row == [[myMutableArray objectAtIndex:indexPath.row] integerValue])
            {
            }

   // Change your if Condition with that Code it will helps you. 

答案 2 :(得分:0)

试试这个:

NSNumber *num=[NSNumber numberWithInteger:indexPath.row];
NSInteger anIndex=[myMutableArray indexOfObject:num];
if(NSNotFound == anIndex) {
    NSLog(@"not found");
}else {
    // anIndex contains the index. Do whatever you want.
}

希望这会有所帮助.. :)

答案 3 :(得分:-3)

我假设您正确地将myMutableArray中的值存储为NSNumber s。

如果您需要知道myMutableArray中的位置,请使用indexOfObject:

NSUInteger position = [myMutableArray indexOfObject:@(indexPath.row)];
if (position != NSNotFound) {
    // handle object appearing in the array
}

如果您只需要知道对象是否出现在数组中,请使用containsObject:

if ([myMutableArray containsObject:@(indexPath.row)]) {
    // handle object appearing in the array
}