면접 준비를 위한 질문 및 질의 응답 준비
질문 1. clipToBounds에 대해서 설명해주세요.
답 : clipToBounds의 경우 UIView의 속성중 하나로 뷰의 경계를 나가는 모든 서브뷰(subView)를 자를수 있는 속성이다.
bool타입으로 되어있으며 Default의 경우에는 false로 되어있고 모든 서브뷰를 그대로 표기한다.
true로 변환 시 뷰 밖으로 나가는 서브뷰의 경우에는 전부 잘라낸다.
질문 2. UIKit 클래스들을 다룰 때 꼭 처리해야하는 애플리케이션 쓰레드 이름은 무엇인가요?
답: UI를 그리거나 UIKit의 메서드를 호출하는 역할은 메인쓰레드에서 진행하게 됩니다.
만약 다른 쓰레드에서 해당 작업을 진행하게 된다면
1. 크래쉬가 발생하여 앱이 예상치 못하게 종료 될 수 있다.
2. UI반응성이 낮아질수 있다. -> UI가 멈추거나 사용자의 입력에 반응을 하지 않게 될 수 있다.
질문 3. UIViewController의 LifeCycle에 대해서 설명해주세요.
답:
1. viewDidLoad
- 설명: 뷰 컨트롤러의 뷰가 메모리에 로드될 때 호출됩니다. 뷰가 처음 로드될 때 한 번만 호출됩니다.
- 사용 목적: 초기 설정 작업을 수행하거나, 데이터를 초기화하고, 뷰에 필요한 초기 UI 요소를 구성하는 데 사용합니다.
2. viewWillAppear
- 설명: 뷰가 화면에 나타나기 직전에 호출됩니다. 이 메서드는 뷰가 화면에 보여질 때마다 호출됩니다.
- 사용 목적: 뷰가 화면에 나타나기 전에 데이터를 다시 로드하거나 뷰의 상태를 갱신하는 데 사용합니다.
3. viewDidAppear
- 설명: 뷰가 화면에 완전히 나타난 후에 호출됩니다.
- 사용 목적: 뷰가 표시된 후에 애니메이션을 시작하거나, 네트워크 요청과 같은 추가 작업을 수행하는 데 사용합니다.
4. viewWillDisappear
- 설명: 뷰가 화면에서 사라지기 직전에 호출됩니다.
- 사용 목적: 뷰가 사라지기 전에 데이터 저장 또는 네트워크 요청 취소와 같은 작업을 수행하는 데 사용합니다.
5. viewDidDisappear
- 설명: 뷰가 화면에서 완전히 사라진 후에 호출됩니다.
- 사용 목적: 뷰가 사라진 후에 특정 작업을 정리하거나, 실행 중인 작업을 중지하는 데 사용합니다.
6. viewWillLayoutSubviews
- 설명: 뷰의 레이아웃이 설정되기 전에 호출됩니다. 자동 레이아웃 제약 조건이 업데이트되기 직전에 호출됩니다.
- 사용 목적: 서브뷰의 레이아웃을 업데이트하기 전에 추가적인 레이아웃을 조정하는 데 사용합니다.
7. viewDidLayoutSubviews
- 설명: 뷰의 레이아웃이 설정된 후에 호출됩니다.
- 사용 목적: 서브뷰의 레이아웃이 설정된 후에 추가 작업을 수행하거나 애니메이션을 적용하는 데 사용합니다.
8. deinit
- 설명: 뷰 컨트롤러가 메모리에서 해제될 때 호출됩니다.
- 사용 목적: 리소스를 해제하거나, 옵저버 제거, Notification 제거, Timer 정리 등의 작업을 수행하는 데 사용합니다.
질문 4. viewDidLoad는 다른화면으로 이동했다가 다시 돌아왔을 때 호출이 되나요?
답 : 아니요 viewDidLoad의 경우에는 처음 한 번만 호출이 되고 viewWillAppear가 다른화면으로 이동했다가 다시 돌아왔을때 호출됩니다.
'Ios > Swift' 카테고리의 다른 글
[Swift] 공통 Alert 함수 만들기 (0) | 2024.08.08 |
---|---|
[Swift] CollectionView에 대한 끄적임 (0) | 2024.08.07 |
[Swift] MVVM에 대한 끄적임.. (0) | 2024.08.01 |
[Swift] 자주 쓰이는 RxSwift의 개념 (0) | 2024.07.31 |
[Swift] Xcode Instruments에 대한 끄적임 (0) | 2024.07.30 |