【发布时间】:2020-07-23 02:55:42
【问题描述】:
我按照this document(和this one)使用SwiftUI 将删除 功能添加到我的应用程序列表中。两个页面都说,一旦您添加了 .onDelete(perform: ...) 段代码,您将能够滑动并获得一个 Delete 按钮。然而,这不是我所看到的。代码可以编译,但我在滑动时什么也看不到。
我的列表由如下代码备份:
@FetchRequest(
entity: ...,
sortDescriptors: []
) var myList: FetchedResults<MyEntity>
而不是 @State。这可能是个问题吗?
下面是更多相关代码,以防万一这可能有用:
private func deleteSpot(at index: IndexSet) {
print(#function)
}
.........
var body: some View {
VStack {
ForEach(self.myList, id: \.self.name) { item in
HStack {
Spacer()
Button(action: {
self.showingDestinList.toggle()
.....
UserDefaults.standard.set(item.name!, forKey: "LocSpot")
}) {
item.name.map(Text.init)
.font(.largeTitle)
.foregroundColor(.secondary)
}
Spacer()
}
}.onDelete(perform: deleteSpot)
}
【问题讨论】:
-
最小的可重现示例?
-
@Asperi,我只是在帖子中添加了一些相关代码,希望这可能会有些用处。
标签: ios swift core-data swiftui swiftui-list