我想比較兩個數組,數組說一個是像這樣一個系列陣列:的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