人们我想看看索引[i]中的元素是否不存在于不同的(或当前的)数组中。 例如,如果我的数组看起来有点像这样
[wer, wer4 , wer5 , werp , klo ..
。
然后我想看看aExerciseRef.IDE(例如“sdf”)是否在index [i]中存在或不存在。 我假设我必须使用某种迭代器..
for( int i = 0; i < 20; i++ )
{
if([instruct objectAtIndex:index2 + i] != [instruct containsObject:aExerciseRef.IDE] )
NSLog(@"object doesn't exist at this index %i, i );
else
NSLog(@"well does exist")
}
我知道这不起作用,只是要详细说明我想要实现的目标。
修改
我将尝试更多地阐述它并且更具体。
1)首先aExerciseRef.IDE每次调用时都会更改,所以有一次它会“再次”调整,这是“werd”。
2)想象一个数组被aExerciseRef.IDE填充然后我想比较一下这个数组中的元素是否存在于instruct数组中。
所以我想看一下让我们说位置2(wtrk)
的元素[wer, wtrk, wer , sla ...
存在于正在填充aExerciseRef.IDE的数组中。
我希望这次我更清楚。
答案 0 :(得分:2)
Lord Mighty爵士部分正确。是的,你的比较是错误的。不,他的解决方案不起作用。
以下是:
if (index < [anArray count] && [[anArray objectAtIndex:index] isEqual:anObject]) {
NSLog(@"Got it!");
} else {
NSLog(@"Don't have it.");
}
或者,您可以使用containsObject:方法来实现相同的目的:
if ([anArray containsObject:aExerciseRef.IDE]) {
NSLog(@"Got it!");
} else {
NSLog(@"Don't have it.");
}
第二个选项不会为您提供对象的索引,但可以使用以下方法轻松解决:
NSInteger index = NSNotFound;
if ([anArray containsObject:aExerciseRef.IDE]) {
index = [anArray indexOfObject:aExerciseRef.IDE];
...
}
答案 1 :(得分:0)
你的例子毫无意义,并没有澄清这个问题。您正在对类型(id)
的表达式进行比较[instruct objectAtIndex:index2 + i]
和一个BOOL类型
[instruct containsObject:aExerciseRef.IDE]
如果你要查找的对象是数组中的索引x,那么不言而喻,数组中的containsObject将为该对象返回YES。
如果您想要完成的只是您在标题中所说的内容,那么它就像以下一样简单:
if ([[anArray objectAtIndex:index] == anObject])
NSLog (@"Got it!");
else
NSLog (@"Don't have it.");