最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

ios - Why Core Data @FetchRequest returns 0 objects while it should not? - Stack Overflow

programmeradmin3浏览0评论

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.

发布评论

评论列表(0)

  1. 暂无评论