일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 포인트
- 스큐어모피즘
- 8 그리드 시스템
- 플랫디자인
- 패스트캠퍼스후기
- 패스트캠퍼스
- viewDidAppear
- 머티리얼 디자인
- Git Tutorial
- 아이폰
- 픽셀
- ios
- 디자인 트렌드
- viewDidLoad
- commit message
- git
- 마크다운
- Xcodebuild
- 직장인인강
- commit messages
- .DS_Store
- 패캠챌린지
- 뉴모피즘
- 뉴북
- commit
- git workflow
- 입력 개수 제한
- 직장인자기계발
- iOS앱개발올인원패키지Online.
- SWIFT
- Today
- Total
왕논의 연구실
패스트캠퍼스 챌린지 28일차 본문
어제는 AVPlayerItem에서 asset함수가 어떻게 생성되는지 알아보았는데요.
명확하게 해결된 느낌은 아니라서 찜찜합니다.
오늘은 또 실습을 하다가 awakeFromNib에 대해 궁금해져서 알아보려고 합니다.
awakeFromNib은 테이블뷰든 콜렉션뷰든 셀을 커스텀하게 되면 자주 보입니다.
퀵 헬프로 알아보려해도 뜨는 것도 없다보니 사용하면서 대충 이런거구나 하면서 사용했었습니다.
awakeFromNib의 이름을 보았을 때, 'Nib파일에서 awake했다' 라는 의미이기에 인터페이스 빌더의 스토리보드에서 화면을 가져오거나 구성한 이후가 아닐까 싶은 느낌으로 이해했습니다. 그 중에서도 단어 awake느낌이 load된 이후의 느낌이어서 cell에서의 viewDidAppear의 느낌이지 않을까 생각했습니다.
awakeFromNib이 호출되는 시점은 정확하게는 객체가 초기화(인스턴스화)된 후 호출된다고 하네요.
어찌보면 완전히 틀린 것은 아니지만 또 꼭 맞다고 볼 수 는 없지 않을까 싶기도 하네요.
조금 더 알아봅시다.
viewDidLoad, ViewWillAppear, ViewDidAppear 의 차이는 아실겁니다.
간단하게 요약해서
메모리에 올라왔을때, 화면 나오기전, 화면 나온 후 정도로 요약할 수 있습니다.
여기서 awakeFromNib은 객체가 초기화된 후 라고 하니까 init이 된 후, ViewDidLoad와 ViewWillAppear 사이가 되지 않을까 싶습니다.
셀 자체에서 체크해보고 싶지만 셀은 UICollectionViewCell을 상속하는 UI입니다. 그러다보니 viewDidLoad와 viewWillAppear 등 UIViewController에서 사용하는 함수들이 없습니다.
아쉬운대로 콜렉션뷰의 viewDidLoad, viewWillAppear, viewDidAppear에서 표시하고, cell의 awakeFromNib에서도 표시하도록 해보겠습니다.
예상과는 달리 홈에서 Load, willAppear함수를 한 후 awake함수가 실행됩니다.
생각해보면 메모리에 load하고 뷰를 구성할 준비를 하면서 willAppear함수가 실행되고 화면을 구성하면서 셀의 awakeFromNib함수가 실행된 후 모두 구성되면 DidAppear 함수가 실행된다고 생각할 수 있습니다.
셀만을 보면 초기화(이니셜라이즈) 한 후, awakeFromNib가 실행됩니다.
초기화하는 동안에는 프레임, 크기, 위치 등 뷰 관련된 것들은 제대로 만들어지지 않은 상태입니다.
그래서 뷰에 관련없는 것들은 init 함수에서 다루고, 인터페이스빌터(스토리보드)에 연결된 값들 또는 frame, layer를 다룰 때는 awakeFromNib에서 다룹니다.
그리고 오토레이아웃이나 화면 구성은 그 이후에 해줍니다.
프로젝트에서도 awakeFromNib에서 인터페이스 빌더와 연결된 @IBOutlet 값들을 다루고 있고, UI를 업데이트하기 위해서 updateUI함수를 만들어서 홈에서 cell을 생성한 이후에 따로 호출해줍니다.
전에는 감으로 뚝딱뚝딱 만들었는데 이번에 명확하게 해결하고 넘어가는 느낌이 듭니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.
'강의 > 강의 챌린지(iOS 앱 개발 올인원 패키지 Online)' 카테고리의 다른 글
패스트캠퍼스 챌린지 30일차 (0) | 2021.11.30 |
---|---|
패스트캠퍼스 챌린지 29일차 (0) | 2021.11.29 |
패스트캠퍼스 챌린지 27일차 (0) | 2021.11.27 |
패스트캠퍼스 챌린지 26일차 (0) | 2021.11.26 |
패스트캠퍼스 챌린지 25일차 (0) | 2021.11.25 |