将 CoreData 的属性显示为 UICalendarView 装饰

问题描述 投票:0回答:0

我已经成功地设置了 UICalendarView 来显示一个日历,它在有 CoreData 条目的每一天显示一张床的图像。任何想法如何实现更改床图像以显示从 .customview 中的核心数据中选择的日期的属性?我已经建立了分数圈视图。主要问题是如何从那天提取分数属性。我知道它与获取谓词和 1 的限制有关,但我们将不胜感激,尤其是在处理所需功能的日期输入/输出方面。

CoreData 实体被命名为“睡眠”,具有以下属性:AwakeDate、sleepscore、睡眠时间等。我想使用 AwakeDate 来显示该日历日的分数。

Current CalendarView 功能显示床的日子有一个条目:

@MainActor
            func calendarView(_ calendarView: UICalendarView, decorationFor dateComponents: DateComponents) -> UICalendarView.Decoration? {
                
                let foundSleep = sleepItems.filter {$0.awakeDate?.startOfDay == dateComponents.date?.startOfDay}
                if foundSleep.isEmpty { return nil }

                let today = Calendar.current.startOfDay(for: Date())
                
                return .customView {
                    let scoreCalView = UILabel()
                    scoreCalView.text = "🛏️"
                    return scoreCalView
                }
            }

我想做什么:

ios swiftui core-data
© www.soinside.com 2019 - 2024. All rights reserved.