小编Dal*_*lar的帖子

核心数据 - 使用NSDates进行预测

你好,

我正在开发Core Data应用程序,必须根据日期进行一些过滤.我进行了一些测试,看起来在比较NSDates时,Core Data也在比较日期的时间成分.

我的代码:

- (BOOL)hasSpeakersWithinDateRangeFrom:(NSDate *)startOfRange through:(NSDate *)endOfRange {
    NSPredicate* dateRangePredicate = [NSPredicate predicateWithFormat:@"startOn <= %@ && endOn >= %@", startOfRange, endOfRange];
    NSSet* speakersWithinDateRange = [self.speakers filteredSetUsingPredicate:dateRangePredicate];

    if ([speakersWithinDateRange count] > 0)
        return YES;
    else
        return NO;
}
Run Code Online (Sandbox Code Playgroud)

我有一个"方便"的方法,是一个单行的:

- (BOOL)hasSpeakersNow {
    return [self hasSpeakersWithinDateRangeFrom:[NSDate date] through:[NSDate date]];
}
Run Code Online (Sandbox Code Playgroud)

当我运行一些基本测试时,它不能按计划工作,而且我可以告诉Core Data正在比较NSDate对象的时间组件和日期.

那么,我怎样才能重写上面的内容以忽略时间,只对当天过去敏感呢?

谢谢

iphone core-data

2
推荐指数
1
解决办法
3481
查看次数

标签 统计

core-data ×1

iphone ×1