iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
佛心分享-IT 人自學之術

自學swift語法系列 第 27

Day27-計算屬性 & 屬性觀察 & lazy 屬性

  • 分享至 

  • xImage
  •  

計算屬性介紹:

  • 之前用的屬性都是透過存取得到值。
  • 計算屬性式經過運算得到值。
  • 不需要參數的方法都可以變成計算屬性,獲得更好的閱讀性。
  • 每次存取都會重新運算,不適合放入太複雜、繁重的 code。

計算屬性寫法:

  • 必須用 var 宣告。
  • 不可省略類型。
  • 至少要能夠 get。
  • 如果要讓這個屬性可以修改,需要設定 set 方法。
  • set 預設的參數名稱是 newValue,也可以自訂名稱。

何時使用計算屬性?

  • 能讓呼叫的時候閱讀性更好、更合理,並且運算過程簡單的時候。

屬性觀察:

  • 用來通知值的變化,就算新的值相同也會觸發。
  • 與儲存屬性或繼承的計算屬性搭配使用。

何時使用屬性觀察?

  • 需要在改變前後做一些事情。
  • 很多地方都可能改變這屬性,不用在每個地方都寫一次前後流程。
  • 需要的處理運算過程簡單。
  1. 計算屬性跟儲存屬性的差別是什麼?
    => 計算屬性是透過運算得到值,儲存屬性是透過存取得到值。
  2. 計算屬性會運算幾次?
    => 取決於這個屬性被存取幾次。
  3. willSet 和 didSet 個別的預設參數是什麼?
    => willSet 的預設參數是 newValue,表示新的值;
    => didSet 的預設參數是 oldValue,表示修改前的值。
  4. lazy 的功能是什麼?
    => 讓「賦值」這件事等到這個屬性被 get 的時候再發生。

影片連結:https://youtu.be/ON_lkXAhnpo?si=eWMfRIZtnASDAzBP


上一篇
Day26-Struct 的建立和用法 & private 存取限制
下一篇
Day28-屬性包裝 Property Wrapper 介紹
系列文
自學swift語法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言