swift中结构体的引用赋值时独立存在的。结构体总是通过被复制的方式在代码中传递
例如一下实例,构造一个结构体MarksStruct,赋值给aStruct,然后再将aStruct赋值给bStruct,此时aStruct, bStruct的值是一样的都是mark = 98,但是内存地址并不一样,即不是同一个对象,仅仅是值相同的不同对象,当给bStruct重新赋值时并不会给aStruct造成影响。
struct MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}
var aStruct = MarksStruct(mark: 98)
var bStruct = aStruct // aStruct 和 bStruct 是使用相同值的结构体!
bStruct.mark = 97
print(aStruct.mark) // 98
print(bStruct.mark) // 97