CoreData: найти минимум вычисляемого свойства

Скажем, у меня есть объект CoreData "Point" с двумя свойствами x и y (оба NSNumber).

Как должен выглядеть NSPredicate, чтобы я мог найти ближайшую Точку, чтобы сказать a, b? для расстояния = sqrt ((x-a) (x-a) + (y-b) (y-b))

Хотя я мог определить временное свойство, которое вычисляет расстояние до предопределенной точки, я не вижу, как я могу программно изменить эту точку при запуске fetchrequest.

Любая помощь будет принята с благодарностью.


person Felix Lamouroux    schedule 26.10.2009    source источник


Ответы (1)


Извините, но выполнение арифметических операций в NSPredicate не поддерживается. Можно использовать только операторы сравнения. И новости ухудшаются. Вы не можете использовать временное свойство в NSFetchRequest. Могут использоваться только постоянные свойства. Если вам действительно нужен такой уровень контроля при извлечении ваших объектов, Core Data может не подойти вам.

person Alex    schedule 26.10.2009
comment
Еще раз спасибо, Алекс. Это сэкономило мне время, пытаясь найти способ, когда его нет. Я получу набор точек вокруг точки, а затем найду ближайшую на основе этого подмножества (с достаточно широким полем, которое должно дать желаемый результат) - person Felix Lamouroux; 27.10.2009