我使用PFQuery从解析中重新获取数据,就像这样
var downloadQuery = PFQuery(class: "MyDatabase")
downloadQuery.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
//retriving data her
}
但有没有办法可以过滤掉一周前创建的对象,或类似的东西?
我使用downloadQuery.whereKey("price", equalTo: "Free")
来过滤掉某些对象,但我无法弄清楚如何根据创建对象时过滤掉对象
答案 0 :(得分:1)
您可以先使用downloadQuery.orderByDescending("createdAt")
按照创建日期对结果进行排序。
然后你可以做类似的事情:
let calendar = NSCalendar.currentCalendar()
let lastWeek = calendar.dateByAddingUnit(.Week, value: -1, toDate: NSDate(), options: [])
for object in objects {
if object.createdAt!.timeIntervalSinceDate(lastWeek).isSignMinus {
//it's older than a week, so stop iterating through objects
break
}
//it's within the past week, do something with the object
}
答案 1 :(得分:1)
您可以使用Parse的greaterThan
,lessThan
,greaterThanOrEqualTo
,lessThanOrEqualTo
和日期来过滤您的查询。
例如:
var downloadQuery = PFQuery(class: "MyDatabase")
downloadQuery.whereKey("createdAt", lessThanOrEqualTo: lastWeek)
lastWeek
是一个日期对象,您可以使用@ yesthisisjoe上面的答案来计算。这只会获取当天从一周内创建的对象,因此您的应用端不需要额外的过滤。