核心数据:计算连续天数

时间:2015-01-27 17:03:22

标签: ios cocoa core-data

我创建的核心数据模型包含Session个实体,该实体具有timestamp属性。我目前正在寻找一种有效的方式来查询核心数据的连续天数。换句话说,如果用户在过去六天内每天创建一个会话,则连续天数等于六。

乍一看,似乎这个问题可以通过聪明的查询来解决。我忽略了什么吗?

另一种解决方案是向核心数据询问一批会话,并手动计算链断裂前的连续天数。我有什么解决方案吗?

1 个答案:

答案 0 :(得分:1)

我认为一个很好的方法是覆盖awakeFromInsert,大概是你在创建时间戳。在那里,您可以查询前几天(使用谓词比较开始和结束时很容易)并存储该数字。我认为这并不夸张或多余,存储int很便宜。

现在程序中的逻辑变得轻松愉快:天数随时可用;你可以计算连续会话的历史记录;您可以轻松找到序列中的所有日期,包括每天多个会话等。