SwiftUI 生命週期onAppear,onDisappear

系統: Mac OS 10.15.2, XCode 11.3,swift 5.0
寫作時間:2020-01-09

說明

SwiftUI在body的閉包只執行一次,等價於UIKit的viewDidLoad()方法。

UIKit的 viewDidAppear()viewDidDisappear() 等價於SwiftUI的方法onAppear()onDisappear(). 例子如下:

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: DetailView()) {
                    Text("Hello World")
                }
            }
        }.onAppear {
            print("ContentView appeared!")
        }.onDisappear {
            print("ContentView disappeared!")
        }
    }
}

struct DetailView: View {
    var body: some View {
        VStack {
            Text("Second View")
        }.onAppear {
                print("DetailView appeared!")
        }.onDisappear {
                print("DetailView disappeared!")
        }
    }
}

參考

https://www.hackingwithswift.com/quick-start/swiftui/how-to-respond-to-view-lifecycle-events-onappear-and-ondisappear

發佈了147 篇原創文章 · 獲贊 13 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章