如何从NSArray获取具有最低属性值的对象

时间:2014-04-02 19:59:31

标签: ios iphone objective-c key-value-coding

我有一个CLLocation对象数组。 如果我使用

CLLocation *bestLocation = [locations valueForKeyPath:@"@min.horizontalAccuracy"];

我获得了最低的horizo​​ntalAccuracy值。但是我想要包含最低值的OBJECT,以便我以后可以得到它适当的坐标。我怎么能这样做?

我也试过

CLLocation *bestLocation = [locations valueForKeyPath:@"@min.self.horizontalAccuracy"];

但结果相同。

由于

1 个答案:

答案 0 :(得分:0)

我不认为有一个简单的键值编码方法,但你可以 在数组上循环并跟踪"最佳"元素:

CLLocation *bestLocation = nil;
for (CLLocation *loc in locations) {
    if (bestLocation == nil || loc.horizontalAccuracy < bestLocation.horizontalAccuracy)
        bestLocation = loc;
}