0

我熟悉使用NSCalendarNSDateComponents比较NSDate. 但是,我想知道NSPredicate在过滤日期数组或获取将日期作为属性之一的核心数据实体时,是否可以使用 .

例如,假设我正在存储一个Person带有属性的核心数据实体birthdaybirthday是一个 NSDate,它存储了人的生日的日期和时间。我可以在晚上 7 点之后使用NSPredicate(或其他任何东西)仅获取Persons 和s 吗?birthday

还是我必须分别存储日期和时间才能实现这一点?(比如说,存储birthdayDatebirthdayTime。)

(我尝试使用NSDate仅具有时间组件的过滤器,并且似乎所有NSDate缺少的日期组件都被认为比NSDates具有日期和时间组件的更早。)

4

2 回答 2

3

NSPredicate+predicateWithBlock:允许您使用任意逻辑创建自定义谓词。但是,您不能使用这种方式创建的谓词作为从 SQLLite 存储中获取 CoreData 的谓词。在这种情况下,您将执行通用提取,然后使用-[NSArray filteredArrayUsingPredicate:].

于 2012-05-11T17:38:00.083 回答
0

是核心数据。你必须非规范化时间。

于 2012-05-11T17:28:45.243 回答