/* 注:NSPredicate所屬Cocoa框架,在密碼、用戶名等正則判斷中常常用到。 相似於SQL語句 NOT 不是 SELF 表明字符串自己 IN 範圍運算符 那麼NOT (SELF IN %@) 意思就是:不是這裏所指定的字符串的值 */ NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",filteredArray]; //過濾數組 NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate]; NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray); /* 結果: Reslut Filtered Array = ( 2, 6, 6 ) */
/* 方法二:從後往前遍歷數組,而後匹配刪除 */ int i = (int)[dataArray count]-1; for(;i >= 0;i --){ //containsObject 判斷元素是否存在於數組中(根據二者的內存地址判斷,相同:YES 不一樣:NO) if([filteredArray containsObject:[dataArray objectAtIndex:i]]) { [dataArray removeObjectAtIndex:i]; } } NSLog(@"Data Array = %@",dataArray); /* 結果: Data Array = ( 2, 6, 6 ) */