我想比较两个数组,数组说一个是像这样一个系列阵列:的NSMutableArray containsObject问题
((1,1), (1,2), (1,3), (1,4), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3))
和数组b是像这样一系列的数组:
((1,1), (1,2), (1,3), (1,4), (2,1), (2,2), (2,3))
如何检查是否从阵列中的一个项目是不是数组b内
for(NSString* itemFromA in a) {
if ([b containsObject: itemFromA] == FALSE) {
NSLog(@"ok");
break;
}
}
这似乎并没有为我工作。
请妥善格式化您的问题(格式化您的代码,以便它可以被读取)。此外,由于您的描述与您的代码不完全匹配,因此不清楚您要问什么。你的for循环使它看起来像你的数组A和B包含NSString实例,但是你的描述建议每个数组都包含未标识的东西(一个字符串?一个数字?一个包含NSRange结构的NSValue?)的数组。请澄清确切的结构。 – 2010-11-03 17:44:49
你应该*永远不*与* false *比较。始终使用! '![b containsObject:itemFromA]'。在与* false *进行比较的情况下,这没有什么区别。你不允许做*,与*真*相比。顺便说一句:在Objective-C中,使用* YES *和* NO *代替* true *和* false *。 – 2010-11-03 17:55:03
@Georg:虽然我同意BOOL的YES/NO,但
if ([b containsObject:itemFromA] == NO)
完全有效。 -containsObject:返回一个BOOL,所以就像说BOOL isThere = YES; if(isThere == NO)...与if(!isThere)相同。 – 2010-11-03 17:59:11