Member-only story

View Life Cycle SwiftUI

.

1. onAppear

  • Purpose: Called every time the view appears.
  • UIKit Equivalent: Similar to viewWillAppear.
  • Use Case: Trigger events or API calls each time a view appears.
  • not triggered by state changes.
  • Example:
.onAppear {
print("View appeared")
fetchData()
}
  • Behavior: Automatically triggers every time the view re-enters the screen.

2. onDisappear

  • Purpose: Called every time the view disappears.
  • UIKit Equivalent: Similar to viewWillDisappear.
  • Use Case: Cleanup tasks or saving states when the view disappears.
  • Example:
.onDisappear {
print("View disappeared")
}

Extending onAppear to Mimic viewDidLoad

  • SwiftUI lacks a direct equivalent of viewDidLoad (one-time event).
  • Solution:
  • Use a @State Boolean variable to differentiate between the first load and subsequent appearances.
  • Example:
@State private var isFirstLoad = false

.onAppear {
if !isFirstLoad {
print("View loaded for the first time")
isFirstLoad = true
fetchData()
} else {
print("View appeared again")
}
}

--

--

No responses yet