SwiftUI學習

SwiftUI

目的:

  • 避免重複創建object
  • 確保object的生命週期,以確定function可以正常work、確保使用者的資料不會遺失、避免將runtime的資料永久保存
  • 確保「效能」(Note:「如何更新」、「何時更新」 (i.e. 確保「效能」,讓使用者操作不卡頓)

方法:

SwiftUI背後的重點:

1) ID – 判斷兩個UI元件是否相同
(p.s. 參考"截圖 2023-01-10 上午10.47.05(2__ID的使用地方"、
“截圖 2023-01-10 上午10.48.59_顯示ID_結構ID")
p.s. 不同ID = 不同元素

 ID種類: 顯示ID、結構ID

2) 生命週期

3) 依賴關係

關於SwiftUI stateObject & observedObject(p.s 管理物件生命週期和何時會重新產生物件)

https://onevcat.com/2020/06/stateobject/

SwiftUI vs Combine framework

https://stackoverflow.com/questions/72557548/what-is-difference-between-combine-and-rxswift#:~:text=Combine%20Subjects%20are%20thread%20safe,Combine%20you%20need%20them%20constantly.

https://quickbirdstudios.com/blog/rxswift-combine-transition-guide/

https://quickbirdstudios.com/blog/combine-vs-rxswift/