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

发布了127 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zgpeace/article/details/103908608