ios - 核心数据 : Count Number of Consecutive Days

标签 ios cocoa core-data

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

乍一看,这个问题似乎无法通过巧妙的查询来解决。我是不是忽略了什么?

另一种解决方案是向 Core Data 请求一批 session ,并手动计算连续的天数,直到链条中断。是否有任何我遗漏的解决方案?

最佳答案

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

现在您的程序中的逻辑变得非常简单:天数随时可用;您可以计算连续 session 的历史记录;您可以轻松找到序列中的所有日期,包括一天多个 session 等。

关于ios - 核心数据 : Count Number of Consecutive Days,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175937/

相关文章:

ios - 尝试为 iOS 中的音频播放应用程序设计核心数据模型

ios - Xcode 创建了错误的 IPA 文件夹结构

javascript - iOS jQuery 更改输入值失败, "addClass"调用失败

ios - 按“后退”按钮执行 segue

android - 如何将用户从移动应用程序重定向到移动网络浏览器?

cocoa - 为什么我的字符串属性(在我的核心数据模型中)限制为 50 个字符?

ios - 通过另一个 ViewController 从一个 ViewController 获取数据

ios - `NSFormatter` 有多少个晦涩的子类?知道其他人吗?

cocoa - 如何在 Cocoa 中使用 Bindings+CoreData 实现 iTunes 风格的源列表?

ios - 从 SQLite 数据库加载 UITableView 中的可见单元格