【发布时间】:2022-06-17 05:18:11
【问题描述】:
我有一个 swift 结构数组,但我无法编辑第一个属性,而我可以使用类数组编辑第一个属性。
为了编辑结构数组的第一个对象,我必须先做[0] 然后.first
我知道结构是按类型计算的,类是按引用计算的。但我不明白不同的行为。谁能解释一下?
class PersonObj {
var name = "Dheearj"
}
struct Person {
var name = "Dheearj"
mutating func update(name: String){
self.name = name
}
}
var array = [Person(),Person()]
array[0].update(name:"dheeraj")
array[0].name = "yuuu"
array.first?.name = "dddddd" <--- "Error Here"
var array1 = [PersonObj(),PersonObj()]
array1.first!.name = "ttt"
print(array1.first?.name ?? "")
print(array.first?.name ?? "")
print(array.count)
错误信息截图:
【问题讨论】: