Lifecycle
-
SwiftUI View 생명주기🧑💻/Swift 2024. 2. 3. 15:35
1. init View 객체가 생성됩니다. 처음 객체가 생성될 때만 수행될 초기화 작업을 넣습니다. 2. onAppear 화면이 표시되기 전 수행할 작업입니다. 2020에 작성된 블로그 글을 보니 onAppear()는 Adds an action to perform when the view appears 였는데 현재 기준으로는 before this view appears 로 바뀌었습니다. UIKit의 viewDidAppear()와 같다는 논란을 잠재우기 위해 수정하지 않았나 싶습니다. 개인적으로 viewWillAppear() > viewDidLayoutSubviews() 이후, viewDidAppear() 전이라고 생각합니다. 3. task (비동기) View를 표시하기 전에 비동기 작업을 수행합니다. ..
-
iOS 앱 생명주기🧑💻/Swift 2021. 7. 12. 23:59
iOS 앱의 시작, 실행 중, 종료까지의 생명주기를 알아보겠습니다. 앱을 실행하면 다음과 같이 진행됩니다. 1. UIApplication 객체를 생성합니다. 2. @UIApplicationMain()가 표시된 클래스를 찾아 AppDelegate 객체를 생성합니다. @UIApplicationMain()은 프로젝트 생성 시 AppDelegate 클래스에 기본으로 추가됩니다. UIApplicationMain 함수의 4번째 delegateClassName에 "AppDelegate"라고 지정할 것을 @UIApplicationMain() Annotation 만으로 쉽게 대체할 수 있었습니다. func UIApplicationMain(_ argc: Int32, _ argv: UnsafeMutablePointer, _..
-
iOS ViewController 생명주기🧑💻/Swift 2021. 7. 12. 22:27
iOS는 Navigation Controller를 사용해 화면을 전환할 때 LIFO(Last In First Out) 방식으로 관리합니다. 스택 구조와 동일하므로 마지막으로 push 된 화면을 표시하고 제거(pop)합니다. 화면이 표시되기 전부터 제거된 후까지의 생명주기를 알아보겠습니다. 1. init ViewController 객체가 생성됩니다. 2. loadView View를 메모리에 로드합니다. 3. viewDidLoad View의 Controller가 메모리에 로드된 뒤 호출됩니다. 보통 화면이 표시되기 전 초기화하는 작업을 추가합니다. awakeFromNib nib 파일이란 Xcode가 xib와 storyboard를 컴파일한 바이너리 파일입니다. 런타임 시 View를 생성하기 위해 nib 파일을..