Great solution. But, wanting to move from ContentView to CoreDataHelper:
@Environment(.managedObjectContext) var context
and
@FetchRequest(
entity: Task.entity(),
sortDescriptors: [NSSortDescriptor(keyPath: \Task.dateAdded, ascending: false)],
predicate: NSPredicate(format: "isComplete == %@", NSNumber(value: false))
) var notCompletedTasks: FetchedResults
How can it be done?
It's possible?
Thank you.
You can, but the @Environment and @FetchRequest are used with SwiftUI views. I wouldn't move the @Environment to make sure that there is a context associated with the view. I also like to leave my FetchRequests in the view because that's where I need the data to be viewed.
Thank you. It is very difficult, for me. Could you tell me how to extract the methods from your TaskList, since I don't think I can do it?
Here's a branch of the original project with what you're looking to do that's been implemented.
Create a new file with the functions like this one linked here.
In the
ContentView.structfile, addlet core_data_helper = CoreDataHelper(). Then in the button's actions, call the functions fromcore_data_helper.Here's an example of
addTask():Here's a link to what
ContentView.swiftshould look like.Great solution. But, wanting to move from ContentView to CoreDataHelper:
@Environment(.managedObjectContext) var context
and
@FetchRequest(
entity: Task.entity(),
sortDescriptors: [NSSortDescriptor(keyPath: \Task.dateAdded, ascending: false)],
predicate: NSPredicate(format: "isComplete == %@", NSNumber(value: false))
) var notCompletedTasks: FetchedResults
How can it be done?
It's possible?
Thank you.
You can, but the
@Environmentand@FetchRequestare used with SwiftUI views. I wouldn't move the@Environmentto make sure that there is a context associated with the view. I also like to leave my FetchRequests in the view because that's where I need the data to be viewed.Your explanation convinced me. Thank you.