作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用NSFetchedResultsController
和UITableViewController
从CoreData数据库填充UITableView。
我有一个NSDate
对象保存到此日期属性中,标记为“startTime”。然后,我尝试通过使用如下所示的NSPredicate
仅提取当今的数据:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"startDate == %@",
todaysDate];
NSDate
对象仅保留秒数或毫秒数或自1970年1月1日以来的时间,对吗?因此,在同一天比较1111111111111和1111111111112是两个不同的
NSDate
对象,它们不相等。
NSPredicate
来做到这一点呢?我将猜测它创建了两个
NSDate
对象:一个是昨晚12点,另一个是今晚12点,比较startDate并查看它是否在这两个
NSDate
之间。
NSPredicate
的新手,那么如何实现呢?
最佳答案
使用NSCompoundPredicate
。
NSPredicate *firstPredicate = [NSPredicate predicateWithFormat:@"startDate > %@", firstDate];
NSPredicate *secondPredicate = [NSPredicate predicateWithFormat:@"startDate < %@", secondDate];
NSPredicate *predicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:firstPredicate, secondPredicate, nil]];
firstDate
是凌晨12点,今晚
secondDate
是凌晨12点。
NSCalendar *calendar = [NSCalendar calendar]; // gets default calendar
NSCalendarComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, and day for today's date
NSDate *firstDate = [calendar dateFromComponents:components]; // makes a new NSDate keeping only the year, month, and day
components.day
。
关于core-data - NSPredicate和CoreData-确定iOS上的Date属性是否为 "today"(或从昨晚12am到今晚12am),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401466/
我是一名优秀的程序员,十分优秀!