我将UICollectionView中的触摸项存储到NSMutableArray中,然后重新加载数据。
我的问题是,我如何检查IndexPath.row是否等于我的任何NSMutableArray对象?
我可以做类似的事情:
if(indexPath.row == [myMutableArray objectAtIndex:0])
但在这种情况下,它只检查来自我的NSMutableArray的第一个对象,我想检查所有可用对象,如果它们中的任何一个是==到indexPath.row
我是初学者,并试图找出答案。
感谢。
答案 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
}