С помощью MapKit в iPhone 3.0 SDK вы создаете объекты, соответствующие протоколу MKAnnotation. Загрузить их в MKMapView очень просто. Однако, когда пользователь прокручивает MKMapView, пришло время загрузить новые аннотации. Вероятным местом для запроса новых объектов будет mapView:regionDidChangeAnimated:, который вызывается при изменении региона карты, а затем добавляет/заменяет аннотации новыми.
В частности, я хотел бы запросить Core Data, чтобы получить все объекты, существующие в пределах текущего MKCoordinateRegion (mapView.region), чтобы я загружал только те объекты, которые будут отображаться на экране. Объекты в Core Data имеют атрибуты широты и долготы (и атрибут CLLocation определен в классе '.m/.h, который я могу заполнить вручную из него) и использовать его для NSPredicate для поиска близлежащих объектов.
Из-за характера того, сколько объектов существует в базе данных Core Data, мы не можем предварительно загрузить ВСЕ объекты в качестве аннотаций, иначе у нас закончится память (и это будет мучительно медленно).
Как получить только те объекты, расположение которых находится в границах текущего представления карты?