awakeFromNib()
커스텀 View 클래스가 처음 만들어져서 초기화 되었는데, 크기나 위치와 같은 속성이 완벽하지 않은 상태
UIView
에서 상속 받은 커스텀 View 클래스를 만들고 (오른쪽 탭 inspector에서 지정하는 방식으로) 인터페이스 빌더에 지정하면 아카이브되었던 커스텀 View 클래스는 xib
파일에 언아카이브된다.
이때 init(coder:)
가 호출되고 내부 속성이 초기화된다
일부는 이 때 의미없는 값으로 초기화되거나 IBOutlet
을 비롯한 객체 참조 관계가 불명확할 수 있다.
init
시점에서는 frame
과 관련된 크기, 위치 등 뷰가 완벽하게 만들어지지 않은 상태awakeFromNib()
을 사용함awakeFromNib()
은 객체를 인스턴스화 한 후(init()
이 호출된 후) 호출된다.nib
, xib
뷰의 요소들(객체들)의 참조 관계를 나타낸 파일
뷰의 layout, display등의 요소들을 object graph로 만들어서 직렬화한 파일
인터페이스 빌더에서 구성한 모든 정보는 .xib파일로 저장. 이후 프로젝트 컴파일 시 바이너리파일인 .nib파일이 되는 것
객체들의 참조 관계를 따라 데이터를 저장하는 방식
iOS에서 모델 객체를 저장하는 방법 중 하나이며 가장 흔한 방법
아카이브한 데이터로부터 객체를 생성
[TIL] Swift. awakeFromNib
[iOS - swift] nib, xib, Placeholders, Files's Owner, First Responder, Responder Chain 개념
[iOS - swift] Archive(아카이브), 아카이빙, 언아카이빙, NSCoding