下面是一个使用SwiftUI封装回调函数的简单示例:
import SwiftUI
struct ContentView: View {
@State private var showAlert = false
var body: some View {
VStack {
Button(action: {
self.showAlert = true
}) {
Text("Show Alert")
}
}
.alert(isPresented: $showAlert) {
Alert(
title: Text("Hello"),
message: Text("This is an alert"),
dismissButton: .default(Text("OK")) {
// 在点击OK按钮时调用回调函数
self.handleAlertOKButton()
}
)
}
}
func handleAlertOKButton() {
print("OK按钮被点击")
// 执行其他操作
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
在上面的代码中,我们使用@State
属性包装器来创建一个名为showAlert
的布尔值状态变量,用于控制是否显示警报框。当点击按钮时,showAlert
变量会被设置为true
,因此警报框会显示出来。
我们使用alert()修饰符来创建警报框。在警报框中,我们传递了标题、消息和一个按钮。在这个按钮的dismissButton闭包中,我们调用了self.handleAlertOKButton()
来执行回调函数。
在handleAlertOKButton()
方法中,我们可以执行任何其他操作,例如更新状态、发送网络请求等。
这只是一个简单示例,你可以根据具体的需求对代码进行扩展和修改。