我有一个嵌套在for-in循环中的if语句,该语句的计算结果不正确

时间:2014-04-25 18:15:46

标签: ios objective-c if-statement for-loop

我正在使用for-in循环从对象字典中获取每个对象(传递观察)并将某些对象放入对象数组中。它检查对象的特定NSString @Property,看它是否等于另一个NSString。如果相等,则将对象放入schoolMArray。 if语句在第一次运行for-in循环时计算TRUE,并将该对象添加到schoolMArray。在通过for-in的连续循环中,它评估FALSE。不过应该这样做。我已经放入了同一个对象的精确副本,它仍然将第二个对象评估为FALSE。

for (NSString *key in keysArray) {
    ObservationData *obj =  [self.passingObservations objectForKey:key];
    if (obj.districtName == self.passingDistrict) {
        [schoolMArray addObject:obj];
    }
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您使用==而不是isEqual:(或者,在字符串的特定情况下,isEqualToString:)比较对象的等效性。