【发布时间】:2012-02-17 14:46:57
【问题描述】:
我正在尝试找到一种方法来预测特定日期第一次发生的事件。所以说一个事件在一天中发生了多次(范围 1-16),我只希望它返回第一次出现,然后在第二天寻找下一个第一次出现。
【问题讨论】:
标签: iphone ios nsfetchedresultscontroller predicate
我正在尝试找到一种方法来预测特定日期第一次发生的事件。所以说一个事件在一天中发生了多次(范围 1-16),我只希望它返回第一次出现,然后在第二天寻找下一个第一次出现。
【问题讨论】:
标签: iphone ios nsfetchedresultscontroller predicate
您将无法通过一个 fetchRequest 执行此操作;你需要做两个。
对于每一天,只需使用谓词限制在当天开始之后的出现,按日期升序排序,并且只获取一项:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"YourObject" inManagedObjectContext:context];
request.predicate = [NSPredicate predicateWithFormat:@"date > %@", beginningOfDay];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES]];
request.fetchLimit = 1;
当然,您需要检查您收到的商品,以确保它还在同一天。然后,第二天重复。
【讨论】:
NSFetchRequest。