[참고]
viewDidLoad와 loadView는 iOS 개발에서 흔히 사용하는 메서드로, 둘 다 뷰 컨트롤러의 뷰가 로드될 때 호출되지만, 그 목적과 사용 방식에는 중요한 차이가 있다.
🗒️ loadView
- 역할: 뷰 컨트롤러의 뷰 계층을 프로그래머틱하게 생성하기 위해 호출됩니다. 보통 인터페이스 빌더(스토리보드나 XIB 파일)를 사용하지 않고 뷰를 코드로 작성할 때 사용됩니다.
- 용도: 뷰 컨트롤러의 view 프로퍼티에 직접 뷰 객체를 할당하는 데 사용됩니다. 주로 사용자 정의 뷰를 생성할 때 사용됩니다.
- 호출 시점: 뷰 컨트롤러의 뷰가 처음 접근될 때 자동으로 호출됩니다. 기본적으로 이 메서드는 아무 작업도 하지 않으며, 사용자가 직접 구현해야 합니다.
override func loadView() {
// 새로운 뷰를 직접 생성하여 view 프로퍼티에 할당
let customView = UIView()
customView.backgroundColor = .white
self.view = customView
print("loadView 호출됨")
}
🗒️ viewDidLoad
- 역할: 뷰 컨트롤러의 뷰 계층이 메모리에 로드된 후 호출됩니다.
- 용도: 뷰가 메모리에 로드된 후 추가적인 초기화 작업을 수행하는 데 사용됩니다. 예를 들어, 뷰의 서브뷰를 구성하거나 데이터 초기화를 할 때 주로 사용됩니다.
- 호출 시점: 뷰 컨트롤러의 뷰가 처음 로드될 때 한 번만 호출됩니다. 이후 뷰가 메모리에서 해제되었다가 다시 로드될 때도 호출됩니다.
override func viewDidLoad() {
super.viewDidLoad()
// 추가적인 초기화 작업
print("viewDidLoad 호출됨")
// 예: 뷰 구성, 데이터 초기화
}
'TIL (Today I Learned)' 카테고리의 다른 글
[TIL] Ping (0) | 2024.05.10 |
---|---|
[CS] 클린코드 (0) | 2024.02.18 |
[CS] 리팩토링이란 (0) | 2024.02.18 |
[Swift] MVVM 패턴 (0) | 2024.02.17 |
[CS] 동기(Sync), 비동기(Async) (1) | 2024.02.16 |