कोरडाटा के साथ स्विफ्टयूआई में टाइप का कोई सदस्य नहीं है
मैंने इस प्रश्न का उत्तर खोजने की कोशिश की, लेकिन अतीत के उत्तरों में से कोई भी विशेष रूप से कोर डेटा से संबंधित नहीं है।
मैं एक ऐसा फंक्शन बनाने की कोशिश कर रहा हूं, जो मेरे डेटा को एक स्क्रॉलव्यू से हटाता है, कोरडैटा, ऑनडेइट से। यह मुझे डिलीट करने के बाद निम्न त्रुटि दे रहा है = SavedPoem [index] ":" SavedPoem "का कोई सदस्य" सबस्क्रिप्ट "नहीं है ।
"SavedPoem" CoreData में संग्रहीत इकाई है, इस प्रकार मैं अनिश्चित हूं कि पिछले प्रश्नों में सुझाई गई किसी भी सिफारिश को कैसे किया जाए।
यहाँ कोड:
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()
}
}
CoreData SavedPoem संरचना:
कोई विचार? अग्रिम में धन्यवाद।
जवाब
Asperi
संभवतः आप savedpoems
इसके बजाय उपयोग करना चाहते थेSavedPoem
for index in offsets {
let delete = savedpoems[index]
self.moc.delete(delete)
}