gpt4 book ai didi

ios - 通过谓词获取今天之前的值

转载 作者:行者123 更新时间:2023-11-28 22:05:23 26 4
gpt4 key购买 nike

我有一个“每日一言”应用程序。我用 NSSTRING 存储单词的日期,一切正常。但是当我想显示数据库中的所有单词时,哪个日期小于 [NSDate date] - 这意味着今天,它不能很好地排序。我正在使用 NSPredicate 来做到这一点。如何让它发挥作用?

NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"date <= %@", [NSDate date]];
[fetchRequest setPredicate:predicate];

即使我输入当前日期的字符串,它也不起作用。我的意思是比较只适用于当月,因为格式是:11.06.2014

最佳答案

最好的解决方案是将您的日期存储为 NSDate 或数据库中的时间戳,并将其转换为 NSString 仅用于显示。

如果你不能改变你的数据库方案,你可以用 +predicateWithBlock 方法创建谓词:

NSPredicate *predicate = [NSPredicate predicateWithBlock: ^BOOL(YourManagetObj* obj, NSDictionary *bind){
NSDate* objDate = ... //convert string to date with the same date formatter you used to convert date to string
return [objDate earlierDate:[NSDate date]] == objDate;
}];

另请注意,对于您的方案,您必须使用自定义谓词将存储的字符串转换为 NSDate,以便按日期对对象进行排序。

关于ios - 通过谓词获取今天之前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24157616/

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