Swift 斯威夫特是否有类似于C++;推荐人?

Swift 斯威夫特是否有类似于C++;推荐人?,swift,Swift,假设某个可能较大的代码块需要使用数组A或数组B,而不是编写 开关(x){ 案例a: arrayA.append(X) 案例b: arrayB.append(X) }我不知道有什么方法可以获得数组指针-唯一一种使用inout修饰符传递引用的情况是函数参数 然而,闭包在很多方面都非常灵活和可用——我认为这就是其中之一。其思想是创建两个闭包,第一个附加到arrayA,第二个附加到arrayB,然后将要使用的闭包存储在变量中,并使用它: typealias PushToArrayClosure = (

假设某个可能较大的代码块需要使用数组A或数组B,而不是编写

开关(x){
案例a:
arrayA.append(X)
案例b:
arrayB.append(X)

}
我不知道有什么方法可以获得数组指针-唯一一种使用
inout
修饰符传递引用的情况是函数参数

然而,闭包在很多方面都非常灵活和可用——我认为这就是其中之一。其思想是创建两个闭包,第一个附加到
arrayA
,第二个附加到
arrayB
,然后将要使用的闭包存储在变量中,并使用它:

typealias PushToArrayClosure = (value: Int) -> Void

var arrayA = [1, 2, 3]
var arrayB = [4, 5, 6]
let condition = false

let pushA = { (value: Int) in
    arrayA.append(value)
}

let pushB = { (value: Int) in
    arrayB.append(value)
}

let pushToArray: PushToArrayClosure = condition ? pushA : pushB

pushToArray(value: 7)

arrayA // contains [1, 2, 3]
arrayB // contains [4, 5, 6, 7]