我的托管对象有两个双字段:“纬度”,“经度”。 我需要获取的所有对象,具有一定的坐标NSPredicate不使用double值(%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 2010-01-08 09:56:36
作为jdeprez说你不应该比较浮点值。比较浮点值是危险且不好的做法。相反,使用相当大的区域作为谓词,然后计算从距离返回对象数组中最近的点到距离搜索点的距离。 – Christopher 2012-07-16 23:53:39
您节省了我的一天..... :-) – 2016-12-28 07:24:06