在我的应用程序中,我有一个ItemsListView
,它显示从Core Data获取的项目列表。
我无法在列表上执行.onDelete
操作。出现Value of type 'some View' has no member 'onDelete'
错误。第二个错误是在列表上Protocol type 'Any' cannot conform to 'View' because only concrete types can conform to protocols
。
struct ItemsListView: View {
@Environment(\.managedObjectContext) var managedObjectContext
var fetchRequest: FetchRequest<Item>
var items: FetchedResults<Item>{fetchRequest.wrappedValue}
init() {
fetchRequest = FetchRequest<Item>(entity: Item.entity(), sortDescriptors: [])
}
var body: some View {
List { //error 2 appears here
ForEach(items) { (item : Item) in
Text("\(item.name ?? "Nothing")")
}.onDelete(perform: delete) // getting error here
}
}
func delete(at offset: IndexSet) {
// delete code will be added here
}
}
我无法弄清楚如何修复错误并执行.onDelete操作
Core Data项目看起来像这样:
public class Item: NSManagedObject, Identifiable {
@NSManaged public var name: String?
@NSManaged public var recordID: String?
}
欢迎提供任何帮助。