Swift - Deinitialization

2023/10/12閱讀時間約 1 分鐘

swift讀書筆記

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/deinitialization/

 class instance deallocated前會call deinitializers。因為是deallocated前,所以裡面可以access任何property跟func。

deinit {    
// perform the deinitialization
}
為什麼struct沒有deinitializer?

https://stackoverflow.com/questions/50399028/why-dont-structs-have-deinitializers-in-swift-like-classes

因為reference type才有記憶體管理問題,它們的生命週期受限於包含該struct的變數的生命週期。當變數超出範圍時,struct的記憶體就會被釋放。

deinit會主動調用,沒辦法手動call。

5會員
22內容數
紀錄iOS開發上遇到的問題或是一些流程筆記。主要都是Swift。
留言0
查看全部
發表第一個留言支持創作者!