NSArray - 获取最接近原点的对象

时间:2011-06-29 13:04:35

标签: objective-c arrays nsarray sorting

使用Objective-C for iPhone,我试图将最近的对象收集到我的原点 我的所有对象都在NSMutableArray中,并且具有当前位置的CGPoint属性。

使用简单的trig我可以轻松找到所有对象的大小,但我试图找到'最接近的'对象到我的原点。有谁知道怎么做?

3 个答案:

答案 0 :(得分:0)

你的意思是:

CGFloat minDistance = FLT_MAX;
MyClass *minObject = nil;
for (MyClass *obj in objects)
{
    if ([obj distanceFromOrigin] < minDistance)
    {
        minObject = obj;
        minDistance = [obj distanceFromOrigin];
    }
}

答案 1 :(得分:0)

循环遍历所有对象,计算到原点的距离,同时保持最小值?

distanceAO = sqrt(sqr(Ax-Ox)+sqr(Ay-Oy))

答案 2 :(得分:0)

NSArray有分类方法,可以简化您的工作。 have a look at this link

我不确定哪种方法可以解决您的情况但是看看那些您绝对可以实现的方法

TNQ