我正在使用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];
}
}
我在这里做错了什么?
答案 0 :(得分:2)
您使用==
而不是isEqual:
(或者,在字符串的特定情况下,isEqualToString:
)比较对象的等效性。