gpt4 book ai didi

objective-c - 核心数据-带日期的谓词

转载 作者:太空狗 更新时间:2023-10-30 03:25:53 25 4
gpt4 key购买 nike

我很难尝试为“最近完成”的任务编写谓词,即显示该任务是否在过去 7 天内完成。我想我需要做这样的事情:“如果现在 < dateCompleted + 7 天”。

dateCompleted 是表中的一个属性,但我不确定如何从谓词中获取它的值并为其添加 7 天。我想我需要在编写 NSPredicate 之前先获取属性值,但是如何呢?此时我无权访问 managedObject。

这可能是解决方案的结束,但我不知道如何定义“oneWeek”,而且我认为您不能在定义谓词时只添加值:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"%@ < todoCompletedDate + %@", [NSDate date], oneWeek];

最佳答案

你快到了。

首先,您需要定义日期范围。为此,您需要从今天的日期开始,然后加上一周的天数以找到有效范围的结束时间。一旦你有了这个范围,你就可以建立你的谓词来找到所有截止日期 >= 开始和 <= 结束的任务。这是我为做一些非常相似的事情而编写的一些代码的摘录......

NSDate *today = [NSDate date];
NSDate *startOfToday = [DateHelper startOfDay:today];
NSDate *endOfWeek = [DateHelper addDaysToDate:today daysToAdd:6];
return [NSPredicate predicateWithFormat:@"(dueDate >= %@) AND (dueDate <= %@) AND complete == 0", startOfToday, endOfWeek];

关于objective-c - 核心数据-带日期的谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com