在Javascript中,当你这样做时:
var a = [1, 2];
var b = a;
b.push(3);
console.log(a); //Print [1, 2, 3]
a和b共享同一个数组实例。 我正在寻找一种在Swift中实现这一目标的方法
这是我的Swift代码:
var array1 = [[1], [2], [3]];
var array2 = array1[0];
array2.append(0);
print(array1);
//print [[1], [2], [3]]
//I want [[1, 0], [2], [3]]
array1 [0]& array2是两个不同的实例...... 我想要两个指向同一个数组实例的变量(名称不同)。
答案 0 :(得分:2)
您必须将值类型包装到引用类型中,即类。
class wrapper {
var array = [1,2]
}
var a = wrapper()
var b = a
b.array.append(3)
print(a.array) // [1,2,3]
阅读here您也可以使用NSMutableArray
var c : NSMutableArray = [1,2]
var d = c
d.insert(3, at: 2)
print(c) //"(\n 1,\n 2,\n 3\n)\n"