Как получить доступ к модели приложения из виджета?
Возникла проблема - У меня есть класс в основном приложении. В виджете я пытаюсь создать временную шкалу из данных модели. Приложение и виджет объединяются в группу, а модель указывается в целевом объекте виджета. Временная шкала создается, но переменная пуста. Что я делаю не так?
@Model
final class Trip {
var datefrom: Date
var datediff: Int
init(datefrom: Date = Date(), datediff: Int = 0) {
self.datefrom = datefrom
self.datediff = datediff
}
}
в Виджете - переменная daycount всегда пустая ...
func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
let trips = [Trip]()
var entries: [AppEntry] = []
var daycount = ""
var dateOfCount = Date.now
for hourOffset in 0 ..< 10 {
let dateOfCount = Calendar.current.date(byAdding: .day, value: hourOffset, to: Date.now)!
var countDays = 0
trips.forEach{item in
if item.datefrom > dateOfCount {
countDays = countDays + Calendar.current.dateComponents([.day], from: item.datefrom, to: dateOfCount).day!+1
}
}
daycount = String(countDays) // переменная всегда пустая ...
let entryDate = Calendar.current.date(byAdding: .second, value: hourOffset, to: Date.now)!
let entry = AppEntry(date: entryDate, countdays: daycount)
entries.append(entry)
}
let timeline = Timeline(entries: entries, policy: .atEnd)
completion(timeline)
}