Here is my @FetchRequest for User entity:
struct SettingsView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(
entity: User.entity(),
sortDescriptors: [NSSortDescriptor(key: "name", ascending: true)]
) var items: FetchedResults<User>
var body: some View {
List(items, id: \.self) { user in
Text("\(user.name)")
}
}
}
it should fetch all user entities, but returns exactly 0. Why?
How do I pass that context?
struct Taboo: App {
@StateObject private var coreDataStack = CoreDataStack.shared
var body: some Scene {
WindowGroup {
SettingsView()
.environment(\.managedObjectContext, coreDataStack.persistentContainer.viewContext)
}
}
}
There is no error during setup my core data model. So where might be the issue?
class CoreDataStack: ObservableObject {
static let shared = CoreDataStack()
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Taboo")
container.loadPersistentStores { _, error in
if let error {
fatalError("Failed to load persistent stores: \(error.localizedDescription)")
}
}
return container
}()
private init() { }
}
PS There is a lot of entities of User
because I am switching from using MagicalRecord to SwiftUI approach.