2012-11-08 38 views
1

因此,我有一個Core Data,其實體包含的經度和緯度爲NSNumbers。我希望NSFetchRequestPredicate根據數據庫位置中的對象距我當前位置的距離進行過濾。這將要求我將存儲的座標轉換爲CLLocationDegrees,然後將它們放入CLLocation對象中。最後,我可以與CLLocationdistanceFromLocation做比較。使用NSPredicate的位置之間的距離

我盡我所能措辭,有沒有人有任何想法,我怎麼可以用NSPredicate做到這一點?

謝謝!

回答

1

嘗試基於塊的斷言:

CLLocationDistance maxDistance = 100.0; 
CLLocation *currentLocation = ...; 

NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id location, NSDictionary *bindings) { 
    return [location distanceFromLocation:currentLocation] <= maxDistance; 
}]; 
+4

需要注意的是核心數據predicateWithBlock僅支持內存和原子商店和_not_基於SQLite的,商店這是最有可能的OP使用的是什麼。 –

相關問題