1. 程式人生 > >swift class與struct 區別

swift class與struct 區別

1. 核心區別是struct使用的時候是copy的, class使用的時候是引用的

報錯是因為, struct為值型別,  要想用它的方法修改屬性資料,就必須在方法前面加上mutating關鍵詞
  結構體和列舉都是值型別的,預設情況下,值型別的屬性是不能從它的例項方法內部改變的。
  如果想要在例項方法裡面修改結構體或者列舉的屬性值的話,就需要使用mutating關鍵詞特殊處理
  帶有mutating關鍵詞標誌的方法,可以在方法內部修改這些值,並且方法返回後還有效

class沒有這個限制

2. struct 不可以繼承