Мой управляемый объект имеет 2 двойных поля: «широта», «долгота». Мне нужно извлечь все объекты, которые имеют определенные координатыNSPredicate не работает с двойными значениями (% f)?
Этот код не работает, граф fetchedObjects = 0
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"latitude == %f AND longitude == %f", coordinate.latitude, coordinate.longitude];
Но этот код отлично работает, граф fetchedObjects = 3:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"latitude == 53.012667 AND longitude == 36.113000"];
Подтвердите свой ответ, как правильно, если он решит вашу проблему – Vladimir
Как jdeprez заявил, вы не должны быть сравнения значений с плавающей точкой. Сравнение значений float является опасной и плохой практикой. Вместо этого используйте значительную область в качестве предиката, а затем вычислите расстояние от точки, ближайшей к тому, что вы ищете, из массива возвращаемых объектов. – Christopher
Вы сохранили мой день ..... :-) –