我已经成功地设置了 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
}
}