2011-04-01 42 views
1

我不能在瞬間收集我的想法和有問題找出解決以下幾點:遍歷NSArray中收集特定對象

我有5 NSObjects數組,對象-X。每個對象都有兩個對象,Object-Y。這兩個對象中的每一個都有一個50個對象,即Object-Z。

就是這樣。

Object-X 0: 
    Object-Y 0: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
    Object-Y 1: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
Object-X 1: 
    Object-Y 0: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
    Object-Y 1: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
Object-X 2: 
    Object-Y 0: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
    Object-Y 1: 
     Object-Z: 0 
     Object-Z: 1 
     Object-Z: 2 
     ... 
... 

50個對象(Object-Z)中的每一個都有一個CLLocation。我首先瀏覽所有500個對象,然後計算用戶當前位置和對象之間的距離。

然後我想要做的(最好在同一時間,如果可能的話)是從每個Object-X中的每個Object-Y中取最接近的Object-Z並將其插入到一個數組中,以便最終有10個物體。

回答

0

代替計算距離,並且然後找到10個接近的對象,說不定

  1. 調度,比方說,5塊/線程(使用GCD ...或一個共同的多線程的方法),其將每個
  2. 計算100米的距離(爲Object-Y[0]和一些Object-X[i]Object-Y[1]),同時
  3. 保持軌道與所述最小距離的對象的,對於Object-Y[0]Object-Y[1]

塊/線程完成時,它們可以將最大對象添加到數組中。

0

目前還不完全清楚距離的存儲位置,但如果它位於ObjectZs上,那麼您可以執行類似[objectXs valueForKeyPath:@"[email protected]"]的操作。