0

我想从其startDateendDate大于数组中提供的日期的实体中获取对象。

我目前正在使用 IN 作为谓词,如下所示,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K IN %@ OR %K in %@", kEntityEventAttributeStartDate, inArray, kEntityEventAttributeEndDate, inArray];
request setPredicate:predicate];

但我认为它会检查相同的日期,因为我想要更大的日期。

任何想法如何用NSPredicate.

提前致谢。

4

2 回答 2

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];

从这里,我猜你知道如何创建谓词。

于 2013-07-15T08:26:07.557 回答
0

我通过创建一个具有开始日期和结束日期的谓词来解决它,我查询模型以获取在提供的范围之间的所有日期。

感谢您的帮助和建议。

于 2013-07-18T06:24:43.260 回答