天天看点

Swift 结构体的引用

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