我创建的核心数据模型包含一个具有 timestamp 属性的 Session 实体。我目前正在寻找一种有效的方法来查询核心数据的连续天数。换句话说,如果用户在过去六天中每天都创建一个 session ,那么连续天数等于六。
乍一看,这个问题似乎无法通过巧妙的查询来解决。我是否忽略了什么?
另一种解决方案是向 Core Data 询问一批 session 并手动计算连续天数,直到链中断。有什么我缺少的解决方案吗?
Best Answer-推荐答案 strong>
我认为这样做的一个好方法是覆盖 awakeFromInsert 大概是您正在创建时间戳的地方。在那里,您可以查询前几天(通过比较一天开始和结束的谓词很容易)并存储数字。我认为这并不夸张或多余,存储 int 很便宜。
现在您的程序中的逻辑变得非常简单:天数很容易获得;您可以计算连续 session 的历史记录;您可以轻松找到序列中的所有日期,包括一天多个 session 等。
关于ios - 核心数据 : Count Number of Consecutive Days,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28175937/
|