当谈到从使用nearGeoPoint
的查询而不是使用let query = PFQuery(className: "myClass")
//I believe the problem has to do with this location whereKey
query.whereKey("location", nearGeoPoint: geoPoint, withinMiles: mileRadius)
if isCached {
query.fromLocalDatastore()
}
query.orderByDescending("points")
query.findObjectsInBackgroundWithBlock({ (results, error) -> Void in
//use the data
)}
的查询中提取的排序对象时,我在使用本地数据存储区中的查询时遇到了一些问题。地点。这是查询的代码。
points
现在,我的问题是,如果查询来自网络,则没有问题。它按照我的预期排序,结果按points
键排序。但是,当查询来自本地数据存储区时,我没有得到预期的行为。结果未按nearGeoPoint
r排序。现在,我很确定问题与使用nearGeoPoint
有关。我相信这是因为当我注释掉points
行时,结果将根据#define repeat(COUNT) \
for (unsigned int i = 0; i < (COUNT); ++i)
键对本地数据存储区和网络中的查询进行完美排序。
所以,我的问题是,如果有更多使用Parse.com经验的人能够阐明为什么这个查询没有像我期望的那样对对象进行排序。感谢。
更新
我通过查询位置然后对我收到的结果进行排序来规避这个问题。这不是理想的,但它确实有效。虽然,我仍然想知道是否有人对我的问题有任何说法。