एक struct एक value type है: यह assignment पर copy होता है, और हर copy स्वतंत्र होती है। एक class एक reference type है: assignment एक ही instance को share करता है, और दोनों variables एक ही object की ओर इशारा करते हैं। यही एकमात्र अंतर Swift में अधिकांश design निर्णयों को संचालित करता है।
यह कैसे काम करता है
{ x: }
{ x: ; (: ) { .x x } }
a (x: )
b a
b.x
(a.x, b.x)
c (x: )
d c
d.x
(c.x, d.x)
