1. init (coder:)
View Controller의 객체가 생성될 때 초기화 작업을 하는 메소드
아직 View Controller의 View가 생성된 것이 아니기 때문에 View의 요소들에 대한 접근을 시도하면 에러발생
객체를 Byte Stream 으로 바꾸어 디스크에 저장하거나 네트워크를 통해 전송하는 직렬화 작업을 하지 않는 이상 매개변수로 넘어오는 NSCOder는 무시해도 무방
1-2.init (nibName:bundle:)
storyboard가 아닌 분리된 .nib파일로 관리될 경우 init(coder:)대신 이 메소드를 초기화의 용도로 사용가능
2.loadView()
본격적으로 화면에 띄워질 View를 만드는 메소드
storyboard나 .nib파일로 만들어지는 경우가 아닌 모두 직접적으로 코딩하여 만드는 경우를 제외하고 override하지 않는것을 선호
outlet들과 action들이 이 메소드에서 생성되고 연결
3.viewDidLoad()
- 뷰 계층이 메모리에 로드된 직후 호출되는 메서드
- 1회 호출되며 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음.
- 주로 뷰의 초기화 작업을 담당합니다.
- 화면이 처음 만들어질 때 한 번만 실행
- 처음 한 번만 실행해야 하는 초기화 코드가 있을 경우 이 메소드 내부에 작성
(ex: 네트워크 호출)
4.viewWillAppear
- 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드
- 화면이 새로 올라올 때마다 수행
- 그때마다 수행해야 할 작업을 담당하기에 유용
5.viewDidAppear
- 뷰가 뷰 계층에 추가되어 화면이 표시되면 호출되는 메서드
- 뷰를 보여줄 때 필요한 추가적인 작업을 할때 유용
6.viewWillDisappear
- 뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드
- 뷰를 생성하고나서 했던 행동들을 되돌리는 작업할 때
- 작성 또는 선택된 정보들을 삭제되기 전에 저장해두는 작업할 때
7.viewDidDisappear
- 뷰가 뷰 계층에서 사라진 후 호출되는 메서드
- 뷰를 숨기는 것과 관련된 추가적인 작업을 할때
1.새로운 ViewController를 생성한 뒤, Show 버튼을 눌러줘서, 버튼 클릭시 화면이동이 가능하게 한다
2.ViewController에 viewDidLoad(), viewWillAppear(), viewWillDisappear(), viewDidDisappear() 5개의 메서드를 정의한다
3.어플이 실행되면 viewDidLoad() , viewWillAppear(), viewDidAppear()이 실행된다.
4. Move 버튼을 눌러 다른 페이지로 이동하게 되면 viewWillDisappear(), viewDidDisappear()메서드가 실행된다.
5. 상단에 <Back 을 누르게 되면 다시 전화면으로 돌아오게 되고, viewWillAppear() , viewDidAppear() 메서드가 실행된다
(viewDidLoad()는 실행되지 않음)