【发布时间】:2020-03-30 22:55:49
【问题描述】:
在我的应用程序中,我有一个 ItemsListView
它显示从 Core Data 获取的项目列表。
我无法对列表执行 .onDelete。获取Value of type 'some View' has no member 'onDelete'error。第二个错误 - 列表中的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?
}
任何帮助表示赞赏。
【问题讨论】:
-
我没有发现任何问题。
标签: swift list swiftui-list swiftui