gpt4 book ai didi

ios - 核心数据 : Fetch and group different entities based on date created

转载 作者:行者123 更新时间:2023-11-29 10:51:27 24 4
gpt4 key购买 nike

案例:
我正在开发一个应用程序,该应用程序使用 Core Data 和 2 个不同的实体 NoteSleep。一天中可能会多次添加这些实体的实例。

Note 存储 timestamp(日期)、note(字符串)和其他一些不相关的属性。用来做日常笔记。 sleep 存储 timeStart(日期)和 timeEnd(日期)- 用于跟踪用户的 sleep 。

问题
我想获取实体 Note + Sleep 的所有条目,并按 timestamptimeEnd 对它们进行分组;因此它可以显示在表格 View 中,每个日期都有一个单元格/行。

sleep 数据将用于计算总 sleep 时间(例如,如果用户一天睡两次)

有些日子可能只有笔记,而其他日子可能只有 sleep 。

我该怎么做?我希望这是有道理的;否则请告诉我。

最佳答案

Core Data 获取请求只能获取一个特定实体的对象(并且可选子实体)。获取的结果 Controller 也是如此。

因此要显示NoteSleep 实体一起在 TableView 中,您有以下选项:

  • 使用包含所有属性的单个实体,或者
  • NoteSleep 继承自一个共同的父实体,或者
  • 创建第三个实体 Entry,它具有 timestamp 属性以及与 NoteSleep 的一对一关系。

请注意,在第二种情况下,Core Data 还将所有对象存储在一个包含所有属性的表。

无论哪种情况,您都可以根据时间戳对对象进行排序,或者将它们分组使用获取结果的 sectionNameKeyPath 参数分成部分 Controller 。

唯一的选择是分别获取对象并合并它们,但随后你失去了 fetched results controller 的所有优势,比如自动更改跟踪。

关于ios - 核心数据 : Fetch and group different entities based on date created,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20272506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com