是否有特定的方法来配置 NSPredicate 来比较日期?
本质上我有一个 Photo 对象,它有一个 NSDate、lastViewed。
我想配置一个 NSPredicate,它将返回最近在指定时间段(通常是两天)之前查看过的所有照片对象。
我正在获取过去的日期,如下所示:
NSTimeInterval secondsPast = -172800;
NSDate *twoDaysPast = [NSDate dateWithTimeInterval:secondsPastsinceDate:[NSDate 日期]];
我成功地使用了NSDate
类方法dateWithTimeIntervalSinceNow:
(您可以在一行中完成所有操作)如下:
request.predicate = [NSPredicate predicateWithFormat:@"recentPhotoLastViewed > %@", [NSDate dateWithTimeIntervalSinceNow:(-172800)]];
确保lastViewed
CoreData 中的对象实际上是NSDate
对象而不是字符串。
NSDate
可以使用以下方法直接比较对象NSDate
method compare:
。日期基于自类型定义的参考日期以来的时间量,因此允许日期大于或小于另一个日期。这是描述的here http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDate/compare%3a.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)