Swift SwiftUI 封装回调函数的代码实例

21 min read

下面是一个使用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()方法中,我们可以执行任何其他操作,例如更新状态、发送网络请求等。

这只是一个简单示例,你可以根据具体的需求对代码进行扩展和修改。