Post

Replies

Boosts

Views

Activity

Reply to WidgetKit and CoreData/CloudKit
Hi, Cristosv Hope you can help me understand whatI'm doing wrong. I have shared the CoreData with widget and follow your instruction so I have this situation now struct DictaWordWidget: Widget {     let kind: String = "DictaWordWidget"     var persistentContainer: NSPersistentContainer = {         let container = NSPersistentContainer(name: "DictaWord")         container.loadPersistentStores(completionHandler: { (storeDescription, error) in             print(storeDescription)             if let error = error as NSError? {                 fatalError("Unresolved error \(error), \(error.userInfo)")             }         })         container.viewContext.automaticallyMergesChangesFromParent = true         container.viewContext.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy         return container     }()     var body: some WidgetConfiguration {         StaticConfiguration(kind: kind, provider: Provider(context: persistentContainer.viewContext)) { entry in             WidgetView(entry: entry)         }         .supportedFamilies([.systemMedium, .systemLarge])         .configurationDisplayName("My Widget")         .description("This is an example widget.")     } } so after in the provider the situation is like this struct Provider: TimelineProvider {     var managedObjectContext : NSManagedObjectContext     typealias Entry = SimpleEntry     init(context : NSManagedObjectContext) {         print("init provider")             self.managedObjectContext = context     } and finally in the getTimeline func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {        let request = NSFetchRequest<WordEntity>(entityName: "WordEntity")         do {             let words = try managedObjectContext.fetch(request)             let oneWord = Array(words.prefix(1))             let entry = SimpleEntry(date: .now, words: oneWord)             print("result: \(words)")ì             let timeline = Timeline(entries: [entry], policy: .after(.now.advanced(by: 60 * 60 * 30)))             completion(timeline)ì         } catch let error {             print("Error fetching coredata words: \(error.localizedDescription)")         }     } my SimpleEntry struct SimpleEntry: TimelineEntry {     let date: Date     let words: [WordEntity] } but when result is printed the array is empty and I really not understand why. All seams correct at code side no runtime error thanks
Oct ’22