NSPredicate来自CoreData的浮点值(纬度和经度)

Pan*_*cho 4 nspredicate ios

我有一个包含纬度和经度坐标的CoreData实体.只想设置NSPredicate以获取某些协调之间的记录.这是我到目前为止所得到的:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"lat <= %f AND lat >= %f AND lon <= %f AND lon >= %f",minLat,maxLat,minLon,maxLon];

该谓词根本不返回任何结果.然后我尝试使用带有对象的BETWEEN条件进行搜索,并且将异常contstantValue无法识别的选择器发送到实例时发生崩溃NSArray[NSNumber numberWithFloat:]NSCFNumber

任何建议将不胜感激.

Avt*_*Avt 5

将您的代码更改为

NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"lat <= %f AND lat >= %f AND lon <= %f AND lon >= %f",
maxLat, minLat, maxLon, minLon];
Run Code Online (Sandbox Code Playgroud)