在SwiftUI中的onDelete表演中添加func

时间:2020-05-31 16:02:11

标签: ios swift swiftui

代码如下:

Section(header: Text("Head")) {
    ForEach() { child in
        ...
    }
    .onDelete(perform: self.db.delete)  <-- how to add other func in perform???
}

onDelete出现时,我想添加一些其他功能:

    .onDelete(perform: self.db.delete,
        otherFunc()
    )

func otherFunc() {
}

self.db.delete之后的perform移到otherFunc()并不容易,我希望保持不变。

那怎么做呢?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以创建另一个函数,并从onDelete(perform:)向其传递相同的参数:

Section(header: Text("Head")) {
    ForEach() { child in
        ...
    }
    .onDelete(perform: delete)
}

内部调用self.db.delete时使用与原始参数相同的参数。

func delete(at offsets: IndexSet) {
    self.db.delete(offsets)
    otherFunction()
}