Notice
Recent Posts
Recent Comments
Link
투케이2K
322. (ios/SwiftUI) [SwiftUI] onAppear , onDisappear , onChange 사용해 View 뷰 라이프 사이클 (life cycle) 확인 실시 본문
IOS
322. (ios/SwiftUI) [SwiftUI] onAppear , onDisappear , onChange 사용해 View 뷰 라이프 사이클 (life cycle) 확인 실시
투케이2K 2022. 11. 22. 16:13[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[View : 소스 코드]
import SwiftUI
struct ContentView: View {
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. 앱 View : 앱이 사용자 인터페이스로 표시하는 뷰 계층 구조가 포함
// -----------------------------------------
2. 실제 사용자에게 표시되는 화면 구성 실시
// -----------------------------------------
*/
// MARK: - [전역 변수 선언]
@Environment(\.scenePhase) private var scenePhase
// MARK: - [화면에 표시되는 시각적 요소 정의 실시]
var body: some View {
VStack { // [화면 보기를 수직으로 정렬]
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(.accentColor)
Text("Hello, world!")
}
.onAppear {
print("")
print("====================================")
print("[ContentView >> onAppear() :: 뷰 화면 표시]")
print("====================================")
print("")
}
.onDisappear {
print("")
print("====================================")
print("[ContentView >> onDisappear() :: 뷰 종료 상태]")
print("====================================")
print("")
}
.onChange(of: scenePhase) { (phase) in
switch phase {
case .active:
print("")
print("====================================")
print("[ContentView >> onChange() :: 뷰 포그라운드 전환]")
print("====================================")
print("")
case .background:
print("")
print("====================================")
print("[ContentView >> onChange() :: 뷰 백그라운드 전환]")
print("====================================")
print("")
case .inactive:
print("")
print("====================================")
print("[ContentView >> onChange() :: 뷰 상태 변화 감지]")
print("====================================")
print("")
default:
print("")
print("====================================")
print("[ContentView >> onChange() :: 뷰 default 상태]")
print("====================================")
print("")
}
}
.padding()
}
} // [클래스 종료]
// MARK: - [화면 프리뷰 : 미리보기 화면 지원]
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments