티스토리 뷰
ViewController를 생성하게 되면
저 viewDidLoad() 함수를 보실 수 있습니다.
뷰의 상태변화 감지 메서드
뷰의 상태와 레이아웃 변화에 따라 호출되는 메서드를 의미합니다. 각각에 대해서 알아보아요
뷰의 상태 변화 메서드
뷰가 나타나거나 사라지는 등 뷰가 화면에 보이는 상태가 변화할때 호출되는 메서드입니다. 각 메서드가 호출 될때의 시점이 다르다 보니 그에 따라 함수 내부에서 수행하면 좋은 작업도 서로 다릅니다.
viewDidLoad()
- 뷰 계층이 메모리에 로드된 직후 호출되는 메서드
- 뷰의 추가적인 초기화 작업을 하기 좋은 시점
- 메모리에 처음 로딩 될때 1회 호출되는 메서드로, 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음
viewWillAppear(_ animated: Bool)
- 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드
- 뷰의 추가적인 초기화 작업을 하기 좋은 시점
- 다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날때마다 수행해야하는 작업을 하기 좋은 시점
viewDidAppear(_ animated: Bool)
- 뷰가 뷰 계층에 추가되어 화면이 표시되면 호출되는 메서드
- 뷰를 나타내는 것과 관련된 추가적인 작업을 하기 좋은 시점
viewWillDisappear(_ animated: Bool)
- 뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드
- 뷰가 생성된 뒤 발생한 변화를 이전상태로 되돌리기 좋은 시점
viewDidDisappear(_ animated: Bool)
- 뷰가 뷰 계층에서 사라진 후 호출되는 메서드
- 뷰를 숨기는 것과 관련된 추가적인 작업을 하기 좋은 시점
- 시간이 오래 걸리는 작업은 하지 않는 것이 좋음
뷰의 레이아웃 변화 메서드
뷰가 생성된 후 바운드 및 위치 등의 레이아웃에 변화가 발생했을 때 호출되는 메서드입니다.
viewWillLayoutSubviews()
- 뷰가 서브뷰의 레이아웃을 변경하기 직전에 호출되는 메서드
- 서브뷰의 레이아웃을 변경하기 전에 수행할 작업을 하기 좋은 시점
viewDidLayoutSubviews()
- 서브뷰의 레이아웃이 변경된 후 호출되는 메서드
- 서브뷰의 레이아웃을 변경 한 후 추가적인 작업을 수행하기 좋은 시점
실제로 돌아가는 걸 보시면서 이해해보세요 !
'iOS' 카테고리의 다른 글
[iOS] Swift 싱글턴 톺아보기 (0) | 2019.07.31 |
---|---|
[iOS] Delegate Pattern 톺아보기 (0) | 2019.07.31 |
[iOS] 모달 톺아보기 (0) | 2019.07.24 |
[iOS] Navigation Interface 톺아보기 (0) | 2019.07.23 |
[iOS] 개발자 로드맵 (0) | 2019.07.21 |
댓글
공지사항