带有时间的NSDate列,需要仅基于日期获取唯一值

时间:2018-01-03 21:18:19

标签: ios swift core-data nsdate nsfetchrequest

我希望从源代码中获取仅有几天/几个月/年的唯一日期:" 2017-02-25 22:53:43" " 2017-02-25 23:01:42" " 2017-04-26 17:08:26" " 2017-04-26 17:15:41"

列名是" date",如果是基于天数,结果应为[2017-02-25,2017-02-26]; [2017-02,2017-04]如果基于月份;和[2017]基于年份。我认为需要使用NSFetchRequest.predicate,但不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我建议您使用fetchedResultsControllersectionNameKeyPath

  1. 将只读属性添加到day_month_yearmonth_yearyear的managedObject子类。
  2. 您的fetchRequest排序中的
  3. date
  4. 排序
  5. for sectionNameKeyPath使用您创建的某个属性。
  6. 您想要的信息位于fetchedResultsController属性sections
  7. 为每个对象调用为sectionNameKeyPath创建的方法。因此,不要像创建NSCalendar那样做一些昂贵的事情。