Swift 闭包在SwfitUI 中的使用案例

9 min read
struct ContentView: View {
    let numbers = [1, 2, 3, 4, 5]
    var doubledNumbers: [Int] = {
        var result = [Int]()
        for number in numbers {
            result.append(number * 2)
        }
        return result
    }()

var body: some View {
    VStack {
        Text("Original Numbers: \(numbers)")
        Text("Doubled Numbers: \(doubledNumbers)")
    }
}

}
在这个例子中,使用了一个闭包来初始化 doubledNumbers 属性。这个闭包会在 ContentView 的初始化过程中被调用,并返回一个包含 numbers 数组中每个元素的两倍的新数组。这个闭包是通过大括号 {} 来定义的,它没有参数,并返回一个 [Int] 类型的数组。在这个闭包中,可以执行任何需要初始化 doubledNumbers 的代码。在这个例子中,使用了一个 for 循环来遍历 numbers 数组中的每个元素,并将其乘以 2,然后将结果添加到 result 数组中。在 body 属性中,可以使用 doubledNumbers 属性来引用这个新数组,并在界面上显示它。

这不就是一个计算函数吗?