Расположение в основных данных, отсортированных по расстоянию через NSFetchedResultsController?

У меня есть набор объектов сущностей в моей базе данных iOS Core Data, которые описывают что-то на месте. Позволять's называют объект Location. Я реализовал это, имея два атрибута Location, которые ссылаются на местоположение - широта и долгота, оба удваиваются. Есть и другие элементы, такие как имя.

Я использую NSFetchedResultsController для привязки сущностей к UITableViewController. То, что я хотел бы сделать, это отсортировать результаты по расстоянию до заданного CLLocationCoordinate2D. В действительно идеальном сценарии яя могу обновить этот список, чтобы пересчитать сортировку на основе нового местоположения. Поэтому этот вид будет зависеть от двух ключей и третьего "статический» переменная (та, которая нет разных предметов в коллекции).

Я думаю, я мог бы выяснить, как это сделать, если бы я сортировал произвольный список с NSSortDescriptors. Тем не менее, я неt контролировать, как дескрипторы сортировки используются в NSFetchedResultsController.

Есть ли способ, которым я мог бы настроить мои сущности, мой NSFetchedResultsController, мои NSSortDescriptors и т. Д. Для достижения этой цели? Я подозреваю, что ответ заключается не в создании причудливого NSSortDescriptor, а в создании переходного атрибута в объекте, который представляет расстояние до меня, и периодического пересчета этого атрибута. Однако я'Я достаточно новый, чтобы основные данные, что яЯ не уверен, как лучше всего это сделать (перебрать все сущности и пересчитать поле). Я'Я также не уверен, будут ли NSSortDescriptors работать с временными атрибутами.

Ответы на вопрос(2)

Ваш ответ на вопрос