【问题标题】:Filter Date attribute by day and month in CoreData在CoreData中按日和月过滤日期属性
【发布时间】:2016-01-12 07:49:55
【问题描述】:

我的 CoreData 模型中有一个类型为 Date 的属性。有像

这样的数据

01/01/2012 13:37:00, 01/01/2013 13:37:00, 05/01/2012 13:37:00,..

现在,我想设置谓词应该fetch the dates which has the day 01 and month 01 regardless of the year.

我只能获取谓词中带有between 的日期。

有什么方法可以按日期和月份过滤这些日期吗?

【问题讨论】:

  • 通过将NSDateComponentsNSPredicate 与块(predicateWithBlock:)一起使用,您应该可以做到。但是,如果您可能对大量数据执行此操作,那么明确存储一天和一个月可能是一个更好的解决方案。
  • 要使用NSDateComponents,我必须获取所有数据,然后进行比较。
  • 糟糕,我忘了我们不能将predicateWithBlock: 与CoreData 一起使用。
  • 我已经使用明确添加日期和月份来完成它。
  • & 是的 predicateWithBlock: 给出了错误。

标签: ios objective-c core-data


【解决方案1】:

不是真的,我不认为 N​​SExpression 可以像那样把日期分开。

对于这个要求,您应该更新您的实体,以便显式存储日期和月份,并具有完整的日期,以便您可以在谓词中使用这些新属性。

【讨论】:

  • 是的,可以选择,但要找到任何直接的方法。
  • 在日期字段上设置值时需要计算这些值,以便稍后在获取时使用它们。我认为没有任何方法可以通过单个“日期”类型属性获得所需的内容。
猜你喜欢
  • 2019-05-31
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 2019-07-27
  • 2021-09-19
相关资源
最近更新 更多