iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Mobile Development

iOS軟體開發系列 第 2

介紹基本語法 stuct class

  • 分享至 

  • xImage
  •  

struct與class在swift最大的差別是class是reference type,而struct是value type 兩者的差異為,在class中我們指派代理變數給class,這個變數記憶體空間是與class共用的,在struct中我們每次指派代理變數給struct,swift會提供另外一份記憶體空間,這樣雖然在開發時struct比較不會發生重複指派,值被改變的問題,但是在使用時如果宣告多個會造成記憶體的負擔所以在使用上也要小心。
https://ithelp.ithome.com.tw/upload/images/20230912/20161848OE19U7iK5R.png
這樣雖然cutemy1指向cutemy2但是因為struct的關西cutemy1與cutemy2的記憶體是分開的所以cutemy1的值會是20,cutemy2的值會是10/images/emoticon/emoticon34.gif
如果將struct改成class
https://ithelp.ithome.com.tw/upload/images/20230912/20161848fuiKLxF6OF.png
因為記憶體指向同一個所以不管怎麼指派只需要改變一個值cutebaby1與cutebaby2都會改變,cutebaby1與cutebaby2值都是20


上一篇
基礎環境Xcode安裝
下一篇
介紹if與else guard
系列文
iOS軟體開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言