1

だから私はCore Data、経度と緯度を含むエンティティを持っていNSNumbersます。データベースの場所にあるオブジェクトが現在の場所からどれだけ離れているかに基づいて、 をフィルタリングする必要がNSFetchRequestあります。これには、保存された座標を CLLocationDegrees に変換してから、それらをオブジェクトPredicateに入れる必要があります。CLLocation最後に、 と比較できますCLLocation distanceFromLocation

私はこれをできる限り最善の言葉で言いましたNSPredicate.

ありがとう!

4

1 に答える 1

2

ブロックベースの述語を試してください:

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

NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id location, NSDictionary *bindings) {
    return [location distanceFromLocation:currentLocation] <= maxDistance;
}];
于 2012-11-08T08:46:52.277 に答える