Below the code of the widget timeline and the error. Fetch request returning always empty causing out of range into randomIndex. Data and fetch request working fine into all other app views including using different predicates.
func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
var entries: [WidgetContent] = []
let managedObjectContext = persistenceController.container.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Task");
let currentDate = Date()
for hourOffset in 0 ..< 5 {
let entryDate = Calendar.current.date(byAdding: .minute, value: hourOffset, to: currentDate)!
var entry = snapshotEntry
var results = [Task]()
do { results = try managedObjectContext.fetch(request) as! [Task] }
catch let error as NSError { print("Could not fetch \(error), \(error.userInfo)") }
let randomIndex = Int(arc4random_uniform(UInt32(results.count)))
let displayComplete = results[randomIndex].isComplete
let displayAdded = results[randomIndex].dateAdded
let displayName = results[randomIndex].name
let displayCategory = results[randomIndex].secondaryCategory
entry = WidgetContent(date: entryDate, isComplete: displayComplete, dateAdded: displayAdded!, name: displayName!, secondaryCategory: displayCategory!)
entries.append(entry)
}
let timeline = Timeline(entries: entries, policy: .atEnd)
completion(timeline)
}
}