O tipo não tem subscrito de membro, em SwiftUI com CoreData [fechado]
Dec 25 2020
Tentei procurar uma resposta para esta pergunta, mas nenhuma das respostas anteriores se relaciona especificamente aos dados principais.
Estou tentando criar uma função que remove meus dados de um scrollview, de CoreData, onDelete. Ele está me apresentando o seguinte erro ao lado de let delete = SavedPoem [index] ": O tipo" SavedPoem "não tem nenhum membro" subscrito " .
"SavedPoem" é uma entidade armazenada em CoreData, portanto, não tenho certeza de como executar qualquer uma das recomendações sugeridas em questões anteriores.
Codifique aqui:
import SwiftUI
struct SavedPoemList: View {
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: SavedPoem.entity(), sortDescriptors: []) var savedpoems : FetchedResults<SavedPoem>
var body: some View {
VStack (alignment: .leading, spacing: 0) {
HStack{
Text("Your Saved Poems")
.font(.title)
.fontWeight(.black)
.foregroundColor(.black)
Spacer()
}.padding(.bottom)
.padding(.trailing)
.padding(.leading)
ScrollView {
ForEach(savedpoems, id:\.title) {SavedPoem in
NavigationLink (destination: DetailViewSaved()){
ZStack {
Rectangle()
.fill(Color.white)
.frame(width: UIScreen.screenWidth - 40, height: 70)
.cornerRadius(5)
.padding([.horizontal], 20)
// .shadow(color: .gray, radius: 10)
HStack {
VStack (alignment: .leading){
Text("\(SavedPoem.title ?? "")")
.font(.headline)
.foregroundColor(.black)
.lineLimit(1)
Text("\(SavedPoem.author ?? "")")
.font(.subheadline)
.foregroundColor(.secondary)
}
.padding(.horizontal)
Spacer()
}
.padding()
}.padding(.bottom,10)
}
}.onDelete(perform: remove)
}
.navigationTitle("My Saved Poems")
.navigationBarHidden(true)
.edgesIgnoringSafeArea(.top)
.padding(.bottom, 30)
}
.padding(.horizontal)
.edgesIgnoringSafeArea(.bottom)
}
func remove(at offsets : IndexSet) {
for index in offsets {
let delete = SavedPoem[index]
self.moc.delete(delete)
}
try? self.moc.save()
}
}
struct SavedPoemList_Previews: PreviewProvider {
static var previews: some View {
SavedPoemList()
}
}
Estrutura CoreData SavedPoem:

Alguma ideia? Desde já, obrigado.
Respostas
Asperi Dec 25 2020 at 12:16
Provavelmente você pretendia usar em savedpoems
vez deSavedPoem
for index in offsets {
let delete = savedpoems[index]
self.moc.delete(delete)
}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas