【发布时间】:2015-12-08 20:55:16
【问题描述】:
我正在使用以下方式创建一个二维数组,其中每个元素都是一个类元素
var Width: int = 10
var Heigth: int = 10
class ABC {
var A: Int = 0
var B: Int = 0
var C: Int = 0
}
var MABC = [[ABC]] (count: Width, repeatedValue: [ABC](count:Heigth, repeatedValue: ABC()))
和下面的表达式来改变其中一个元素的值。
MABC[0][0].A = 1
但是当我这样做时,所有矩阵元素的属性 A 都从 0 更改为 1,不仅在元素 [0][0] 中。
怎么了?
谢谢
【问题讨论】:
-
没有错。你用相同的参考值填充你的数组,所以数组中的所有项目都代表同一个类...