我正在创建一个应用程序,用户可以在其中发布包含NSDate属性的对象。我希望能够运行一段代码来检查当前日期是否在对象date属性之后,然后删除这些对象。我使用Parse来保存所有对象。
我知道
NSDate *now = [NSDate dateWithTimeIntervalSinceNow:-3600];
PFQuery *query = [PFQuery queryWithClassName:@"Post"];
[query whereKey:@"Date2" equalTo:now];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for (PFObject *object in objects) {
[object deleteInBackground];
}
}
}];
将检查并删除当前日期前一小时的对象。但是如何确保删除当前日期之前的每个对象,而不仅仅是一小时之前。
答案 0 :(得分:2)
问题是您正在使用equalTo:
此:
[query whereKey:@"Date2" equalTo:now];
应该是:
[query whereKey:@"Date2" lessThanOrEqualTo:now];
否则,您只能获得与日期完全匹配的对象。由于这种情况并非经常发生,因此您不会返回任何结果。