nev*_*ing 24 iphone cocoa-touch core-data objective-c core-location
我有一个具有纬度和经度属性的Core Data数据库.有没有办法使用Core Location的getDistanceFrom:方法找到CLLocation从GPS获得的五个最近的位置?我是否必须使用Core Data加载所有对象并通过它们进行解析,使用getDistanceFrom:每个对象还是有更简单的方法吗?
dea*_*rne 29
你将不得不逐个迭代它们; 据我所知,没有别的办法可以做到.
但是,当您从核心数据中获取项目时,可以通过使用边界框来提高效率 - 这将减少将返回的对象数量.
即喜欢的东西
float latMax = wantedLat + 1;
float latMin = wantedLat - 1;
float lngMax = wantedLng + 1;
float lngMin = wantedLng - 1;
NSPredicate *predicate = [NSPredicate
    predicateWithFormat:@"lat > %f and lat < %f and lng > %f and lng < %f",
    latMin, latMax, lngMin, lngMax];
但是,根据您拥有的数据量和间隔距离,您需要使用不同于1的数字!
山姆
PS此外,我还没有考虑到经度包裹的事实!
| 归档时间: | 
 | 
| 查看次数: | 7476 次 | 
| 最近记录: |