我正在使用 for-in 循环从对象字典 (passingObservations) 中获取每个对象,并将某些对象放入对象数组中。它检查对象的特定 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];
}
}
我做错了什么?
最佳答案
您使用 ==
而不是 isEqual:
(或者,在字符串的特定情况下,isEqualToString:
)来比较对象的等价性。
关于ios - 我有一个嵌套在 for-in 循环中的 if 语句,它的计算不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300215/