【发布时间】:2015-06-10 05:48:39
【问题描述】:
为什么下面的代码没有改变字符串?
class Person {
var name = "Chris"
var age = 12
var male = true
var details, = [true, 100 , "good"]
}
family().details.append("friendly")
family().details //prints [1, 100, "good"]
【问题讨论】:
为什么下面的代码没有改变字符串?
class Person {
var name = "Chris"
var age = 12
var male = true
var details, = [true, 100 , "good"]
}
family().details.append("friendly")
family().details //prints [1, 100, "good"]
【问题讨论】:
因为您正在访问两个不同的对象:
family().me.append("friendly")
此行创建一个对象,将“友好”附加到您的 [Any]
family().me //prints [1, 100, "good"]
你在这里打印一个全新对象的内容:我只包含 3 个元素
如果您想查看更改,请使用相同的对象,如下所示:
let f = family()
f.me.append("friendly")
f.me
【讨论】: