Ну, вот в чем проблема: когда вы выполняете NSFetchRequest
, вы можете основывать предикат только на постоянных свойствах. Кажется крайне маловероятным, что у вас будет постоянное свойство, которое отслеживает расстояние от текущего местоположения.
Вы можете добавить временное свойство для вашей сущности, которое дает расстояние от некоторого глобально определенного местоположения. Вам нужно будет сделать запрос на выборку, который получит все объекты, а затем упорядочить их по этому временному свойству.
Если у вас много объектов, вы рискуете довольно быстро заполнить свою память. И даже если вы этого не сделаете, вы все равно будете тратить время на выбор объектов, которые никогда не собираетесь использовать.
Полагаю, у вас, вероятно, был отличный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с Core Data.