枚举NSMutableDictionary时很难排除基于键的对象

时间:2010-07-05 20:34:11

标签: iphone objective-c enumeration

我很难过。我有一个NSMutableDictionary w /嵌套字典,我在枚举中创建一个嵌套字典中特定键值的数组,但我想要排除两个“键”。

如果我排除一个密钥,我可以这样做,但是一旦我尝试使用“||”或者我的If语句中的运算符它停止工作,只是将所有对象添加到我的新数组中,而不是所有对象,但是我试图过滤掉这两个对象。

我的枚举逻辑:

  for (NSString *key in self.myMutDictionary) {
   theBool = [key isEqualToString:@"First"];
   NSLog(@"Is key = to First? %@", (theBool ? @"YES" : @"NO"));

   if ((![key isEqualToString:@"First"]) || (![key isEqualToString:@"Second"])) {
    newDict = [self.myMutDictionary objectForKey:key];
    [self.filteredArray addObject:[newDict objectForKey:@"Third"]];
    NSLog(@"Filtered Array: %@", self.filteredArray);

   }}

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

更改||到&&

如果它不是第一个而不是第二个,那么包含它。

你想要排除(A或B),但你要反转整个表达式来选择要包含的内容,所以它应该是(!A AND!B)