我想从startDate
或endDate
大于日期的实体中获取对象
以数组形式提供。
我目前正在使用IN作为谓词,如下所示,
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K IN %@ OR %K in %@", kEntityEventAttributeStartDate, inArray, kEntityEventAttributeEndDate, inArray];
request setPredicate:predicate];
但我认为它会检查相同的日期我想要的日期更大。
任何想法如何使用NSPredicate
实现此目的。
提前致谢。
答案 0 :(得分:1)
您可以先对日期数组进行排序,如:
NSArray *dateArraySorted = [inArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"Date" ascending:YES]]];
//Select the smallest date - if the date is greater than this then there is no point in checking against others and vice-versa.
NSDate *smallestDate = dateArraySorted[0];
从这里开始,我猜你知道如何创建谓词。
答案 1 :(得分:0)
我通过创建一个具有开始日期和结束日期的谓词来解决它,我查询模型以获得所提供范围之间的所有日期。
感谢您的帮助和建议。