Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Error
- 대한민국 소프트웨어대전
- 좋은 하루
- xcframework
- Scoped Storage
- performance analysis of swiftui and uikit
- Android 10
- ios
- B1ND
- 서울 올림픽 파크텔
- 회사 탐방
- 코엑스
- 포기하지 않기
- 칭찬 하는 법
- 열심히 살았다
- 도담도담
- 안드로이드
- performance of uikit
- 잘못된 칭찬
- 내 철학
- 목표 성취
- CleanArchitecture
- 선산 휴게소
- 도담도담 V2
- 긴장긴장
- swiftUI
- swiftui uikit performance
- performance of swiftui
- ErrorHandlingRIBs
- 노브랜드 버거
Archives
- Today
- Total
건우의 개발 일기
UIViewController init에서 view를 호출하여도 되는가 본문
UIViewController 생명주기에서 loadView는 view를 맨 처음 호출하였을 때 발생된다. 그리고 viewDidLoad는 loadView 직후에 발생된다.
GitHub의 여러 코드를 보았을 때, UIViewController init 타이밍에서 view의 backgroundColor를 설정하거나 addSubView를 하는 등의 코드를 적지 않게 볼 수 있었다. 하지만 앞서 말한 대로 viewDidLoad는 view를 처음 호출한 시기에 불린다.
만약에 TabBar 형태의 화면에서 ViewController를 인스턴스화 시켜 배열로 들고 있고, 이를 이용하여 화면 이동을 한다고 해보자.
init 타이밍에서 view를 호출하였다면 인스턴화 시키는 과정에서 이미 viewDidLoad 까지 호출될 것이다. 여기에 통신 로직이 들어가 있다면 사용자는 탭의 이동도 없이 모든 탭의 초기 통신을 수행하는 부화를 경험해야 한다.
결론적으로 init 타이밍에서 view를 호출하는 것은 옳지 않아보인다. 자연스러운 UIViewController 생명주기를 이용하여 view에 관련된 처리는 loadView가 끝이 난 viewDidLoad에서 해야 한다고 생각한다.
'고민연구' 카테고리의 다른 글
RIBs Scope을 통해 공통 에러 처리하기 (0) | 2022.03.07 |
---|---|
Mobile CleanArchitecture Error Handling (Domain Error) (0) | 2022.03.03 |