Ошибка Xcode: "не удается найти тип TestModelCoreData" в области при использовании запроса на выборку основных данных, но он компилируется и запускается.

Приведенный ниже код - это мое мнение, что я возился с основными данными, но он продолжает давать мне ошибку, что он не может найти объект в области видимости, но приложение работает нормально, и все сохраняется и извлекается нормально.

Вот скриншоты ошибок, которые он выдает

import SwiftUI

struct ContentView: View {
    @Environment(\.managedObjectContext) var moc
    @FetchRequest(
        entity: TestModelCoreData.entity(),
        sortDescriptors: [
            NSSortDescriptor(keyPath: \TestModelCoreData.name, ascending: false)
        ]
    ) var entities: FetchedResults<TestModelCoreData>
    
    var body: some View {
        VStack {
            Text("Hello, world!").padding()
            
            Button(action: {
                let newEntry = TestModelCoreData(context: self.moc)
                newEntry.name = "New name"
                
                if self.moc.hasChanges {
                    try? self.moc.save()
                }
            }) {
                Text("Add entry")
            }
            
            List(entities, id: \.self) { entity in
                Text(entity.name ?? "Unknown")
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

person FUNKYJASPER2    schedule 14.07.2020    source источник
comment
Эй, вы можете проверить, действительно ли MyModel.xcdatamodel добавлен в проект (т.е. проверить целевое членство)?   -  person Prafulla    schedule 14.07.2020
comment
@Prafulla здесь - это снимок экрана целевого членства для модели данных.   -  person FUNKYJASPER2    schedule 14.07.2020
comment
Нет проблем в коде, так как все работает в файле. Попробуйте удалить производные данные и т. Д., Вы можете попробовать следующее решение: stackoverflow.com/a/60861247 / 9838937   -  person Prafulla    schedule 14.07.2020
comment
Да, сегодня у меня была такая же проблема с Xcode 12.3. Я просто полностью закрыл Xcode, а затем перезапустил его, и все было построено нормально. Даже с ошибкой я смог выполнить сборку, но не смог запустить проект на симуляторе. Поэтому, если вы когда-нибудь получите сообщение об ошибке, что вы не можете найти Entity в области видимости, попробуйте перезапустить Xcode.   -  person uplearnedu.com    schedule 10.01.2021
comment
Это работает на симуляторе? Или у вас просто эта ошибка при предварительном просмотре холста? Если да, возможно, вам просто нужно издеваться над своей сущностью в предварительном просмотре. См. Этот ответ: stackoverflow.com/a/66241773/15224199   -  person Jakub Jakubowski    schedule 17.02.2021


Ответы (3)


Я только что снова открыл xCode ????.

Проблемы с SwiftUI 2.0 CoreData с новым проектом - "Не удается найти тип" Элемент "в области"

person europeec    schedule 19.11.2020

Эта проблема сохраняется с Xcode 12.2. Это не уникально для CoreData. Это может быть вызвано, например, создать расширение, а затем переместить это расширение в отдельный файл. Если вы кодируете сборки и запускаете, несмотря на ошибку компилятора Swift. Не удается найти "xyz" в области видимости, попробуйте просто закрыть и снова открыть свой проект перед очисткой кешей, удалением производных данных и т. д.

person CALL-151    schedule 02.12.2020

Если ни одно из предоставленных решений не работает (перезапуск Xcode, воссоздание проекта, проверка, было ли добавлено целевое членство, удаление производных данных и т. Д.), И, несмотря на предупреждения IDE, все равно попытайтесь построить проект с cmd + B. Это решило проблему с моей стороны.

person gma992    schedule 18.07.2021