Значение типа some View не имеет члена onDelete в SwiftUI
В моем приложении есть 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
Базовый элемент данных выглядит так:
public class Item: NSManagedObject, Identifiable {
@NSManaged public var name: String?
@NSManaged public var recordID: String?
}
Любая помощь приветствуется.
1 ответ
Похоже, это ошибка в среде Xcode или SwiftUI. После нескольких часов попыток исправить проблему я воссоздал NSManagedObject, очистил Xcode, перезапустил свой Mac, и внезапно все заработало.