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

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

我正在使用 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/

相关文章:

iphone - 当Array更改时自动更新UITableView

iphone - Cydia deb 包不会在主屏幕上创建快捷方式

objective-c - 如何定期调用 objective-c 中的方法?

ios - 如何在objective-c中声明C数组属性

javascript - ng-repeat 中的 ng-if 在点击事件上重新创建元素

c++如何优化经常调用的函数?

ios - 检查是否已应用 NSLayoutConstraint

ios - AFNetworking 3 AFMultipartFormData 获取字节数据作为响应

objective-c - 使用后台线程的进度更新 UIAlertView

ruby-on-rails - Ruby if 语句 - 如何避免多个 elsif 语句,包括 not