天天看點

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