萌新求助一个小case 是一段很简单的代码,对我来说有些地方搞不懂

萌新求助一个小case 是一段很简单的代码,对我来说有些地方搞不懂

问题描述:

 var item = ChecklistItem()
item.text = "ahaha"
lists[0].items.append(item)

item.text = "somebody"
lists[1].items.append(item)

如上,我代码中截取的一小段,这小段代码很简单很萌新
按照我的理解应该是:
list[0]输出 ahaha list[1]输出 somebody
然而结果却让萌新看不懂:
list[0]输出 somebody list[1]输出 somebody

难道append的是一个引用而不是copy嘛

加上这句就能出现我要的结果了:

 var item = ChecklistItem()
item.text = "ahaha"
lists[0].items.append(item)

item = ChecklistItem()        <----------------------------
item.text = "somebody"
lists[1].items.append(item)

后者的结果我理解,但是前者的结果让我很困惑呢,求助,谢谢!

和append没有关系,因为item只有一个