iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

前文

昨天教enum 今天會教大家class 和 struct
這兩個在swift很常用到 所以大家要熟練哦/images/emoticon/emoticon37.gif

class

什麼是class

class 可以把他想像成一個人 然後每個人都有 名字 身高 體重 等特徵
為什麼要創一個class呢 因為如果未來我們需要統計每個人
那用class就可以很方便讓我們去運用

創一個class

先創一個class 具有3個屬性
然後使用init()可以讓我們對class做初始化
self表示當前實例的對象 這樣可以讓參數賦值给class的屬性

運用

首先我們創一個class的實例 因為我們有使init()
所以創實例的時候就要這樣寫然後給值
那這個實例的屬性就會被存起來囉

因為 class 是引用類型 他們實際上是引用同一個實例
我們將 people1 賦值給 people2 後 再修改people2 的name
你會發現 原先people1的 Name 也被蓋掉了
因此你如果想要再創一class的實例 就是要向People去呼叫

Struct

跟class其實很相似 但是struct帶參數進去不需要自己寫一個init()

跟Class相比 你會發現一模一樣的Code 但是輸出結果卻不一樣
因為 Struct 是值類型 繼續往下看

引用類型 VS 值類型

在 Swift中,數據類型可以分為引用類型和值類型
引用類型的有Class 和 Closure
值類型的有Struct、enum和Array

引用類型

它們共享相同的數據 如果修改其中一个引用的对象
所有引用都會被修改 因為兩個的記憶體空間是一樣的

值類型

它們不是共享實例 每個變量或常量都持有自己的數據拷貝
因此修改一個變量的值不會影響其他變量。


上一篇
Day04 Swift 列舉:玩轉遞迴與非遞迴
下一篇
Day06 UI元件約束
系列文
Xiang教你入門Swift從零到有30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言