생명주기 (4) [ 업데이트 Cycle ]
·
iOS/UIKit
애니메이션과 트랜지션과 같은 조금 더 개선된 UX를 주기 위해 다양한 코드를 적었는데 원하는 대로 동작하지 않는 경우가 자주 발생하고 나는 그게 View Rendenring을 재대로 이해하지 못하고 있는 것 같다. 그래서 이번에는 생명주기의 마지막 시간은Update Cycle에 대해 학습해보자. 앱이 실행되면 어떤 일이 일어날까?1. main 함수가 실행된다. 2. main 함수는 UIApplicationMain 함수를 호출한다. 3. UIApplicationMain은 UIApplication 인스턴스를 생성한다. 4. Info.plist에서 필요한 데이터를 로드한다. main Nib 파일을 여기서 찾아 로드한다. 5. UIApplication은 AppDelegate 인스턴스를 생성하고 UIApplica..
생명주기 (3) [ View 생명주기 ]
·
iOS/UIKit
오늘은 iOS 생명주기의 마지막 단계인 View의 생명주기에 대해 알아보자. 전체적인 생명주기는 다음 그림과 같다. init1) init((coder:))스토리보드나 xib파일은 활용하여 화면을 만들 때 컴파일러가 인식할 수 있게 코드로 변환해주는 과정에서 사용한다.코드 base로 작성했을 때는 required init 형태로 선언만 해줘야한다. 어차피 호출되지 않는다. 2) awakeFromNib()인터페이스 빌더 또는 nib 파일에서 로드된 후 생성되는 메소드이다.Nib/Xib 파일이 언아카이브되고 나서 init(coder: NSCoder)로 모든 객체가 초기화가 완료되었을 때 호출된다.마찬가지로 코드 base로 작성되었을 때는 호출되지 않는다.  3) init((frame: ))View의 인스턴스를..
생명주기 (2) [ ViewController 생명주기 ]
·
iOS/UIKit
이전 학습은 iOS 앱의 전체적인 생명주기를 봤다면 이번에는 조금 더 작은 단위인 ViewController의 생명주기를 학습할껀데. 각 콜밸 함수의 호출 시기와 역할로 구분해서 학습해보자.  1. loadView역할ViewController는 메모리에 올라온 후, 인스턴스 메서드인 loadView()를 통해 화면(view)을 메모리에 올린다. ⚠️ 스토리보드(Interface Builder)를 통해 View를 생성 및 초기화하는 경우 loadView() 메서드를 재정의해서는 안된다. 만약 view를 수동으로(코드로) 생성했다면 loadView()를 재정의해서 ViewController의 view에 직접 생성한 view를 할당 한다. ( super.loadView() 불필요 )2. viewDidLoad호..
생명주기 (1) [ iOS 앱 생명주기, Scene 생명주기 ]
·
iOS/UIKit
이번 학습부터는 iOS의 여러가지 생명 주기를 학습해보자. 처음은 가장 큰 생명주기인 Scene과 App의 생명주기에 해당되는 단계와그 단계에 포함되는 콜백함수들을 짝지어 학습해보자.App Life CycleiOS 12 이하 버전에서는 scene을 지원하지 않기 때문에 UIkit의 모든 life-cycle 관련 이벤트들은UIApplicationDelegate 객체에서 처리한다. 1. Not Running앱이 실행되지 않았거나 완전히 종료되어 동작하지 않는 상태 // 앱 최초로 실행할 코드 작성// 앱 실행 준비가 끝가지 직전에 호출 // main storyboard 또는 nib 파일이 로드된 후// 실행된 후 InActive 상태가 된다.func application( _ application: ..