当我附加一个值时,整个数组正在更改为附加值

杰森·托马斯

我在 for 循环中追加,但由于某种原因而不是在最后追加,它更改了数组中的所有现有值。

let a = 2

class people {
    var name = " "
    var height = Int()
}

var trial = " "

var p = [people]() 
var user = people()
for i in 0...a-1{

    if(i==0){
        user.name =  "jack"
        user.height = 180
    }
    else {
        user.name =  "ryan"
        user.height = 120
    }

    p.append(user)
    print(p[i].name, p[i].height);

}
for i in 0...a-1 {
    print(p[i].name, p[i].height);
}

预期: - jack 180 ryan 120 jack 180 ryan 120

结果:- 杰克 180 瑞安 120 瑞安 120 瑞安 120

贾基尔·侯赛因

你只有一个创建instancepeople,并添加这个instance阵列中的两次。但问题是当您第二次分配该值时,它会替换相同instance.

您必须为每个新用户在您instnsepeople内部创建新for loop像下面

let a = 2

class people {
    var name = " "
    var height = Int()
}

var trial = " "

var p = [people]() 
//var user = people() remove this line from here and add inside for-loop
for i in 0...a-1{
    var user = people() // add this line here.

    if(i==0){
        user.name =  "jack"
        user.height = 180
    }
    else {
        user.name =  "ryan"
        user.height = 120
    }

    p.append(user)
    print(p[i].name, p[i].height);

}
for i in 0...a-1 {
    print(p[i].name, p[i].height);
}

快乐编码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一个数据框检查数据框中的值,并附加值(如果存在)

我正在尝试从3个数组使用索引时获得一个值?

错误的附加值

设置状态数组并在更新时附加值

列表未附加值

在正确位置附加值

附加值以创建二维数组

数组值仅返回第一个字符和附加值

创建一个空的dask数据框并向其附加值

当我运行`make debug`时,将构建标志附加一个。

当我更改另一个数组中的值时,数组中的值也会更改吗?

计算数组中的重复值,并使用Javascript返回带有附加值的计数

即时通讯用于为数组分配一个值,但是当我打印数组时,它只是填充了整个数组中的最后一个值

如何创建一个既可以包含UInt值又可以包含附加值00的类型?

过滤行并附加值

发布HttpPostedFileBase对象的集合,每个对象都有一个附加值

追加将最后一个附加值覆盖每个元素(Python)

Javascript:计算附加值

如何在不使用javascript更改第一个对象的情况下在现有对象中附加值?

将数组值从一个数组更改为另一个数组

在 PowerShell 中附加值

Pandas 更新对附加值的更改,这些值随后被修改

Numpy 数组:删除和附加值

为什么它打印出一个空数组而不是在 viewDidLoad() 中第一次附加值的数组?

Javascript,附加节点添加整个数组而不是最后一个元素

Minizinc:给定结果数组,确保具有匹配值的索引也根据附加值匹配

字典不附加值

在 JSON 数组中附加一个数组

我正在嘗試編寫這個函數,它給出了最大數值的 2 的平方的附加值