iOS class 和 struct 的差異
這篇是整理一些 class 與 struck 差異文章,而且這個觀念在於面試時候也是一個特別喜歡問的問題。 而 class 與 struct 差異在哪裡,而我們會常看到所提出的點,大致是以下這三點: struct 不能被繼承 struct 是 value type , class 是 reference type struct 有 memberwise initializer 從下面一個例子來看 class A { var number = 1 } var a = A () var b = a b . number = 2 這時候 a.number 和 b.number 都會是 2 當 var b = a 的這個時候是也將 a.number 也改變了 struct AA{ var number = 1 } var aa = AA () var bb = aa bb . number = 2 這個時候 aa.number 和 bb.number 個會是 1 和 2 而會有這個差異原因是, struct 是 value type 它不會去改變到其他值