두 메서드 모두 UIView를 초기화하다 보면 사용하는 녀석들이다.
init(frame:)
frame은 코드를 사용하여 뷰를 생성할 떄 호출하는 초기화 메서드다. (코드 베이스, programmatically 등)
- super.init(frame: )
사용자 지정 뷰 클래스에서 UIVIew에 있는 init(frame: ) 메서드를 호출함으로써 초기화를 돕는다. 대표적으로 뷰의 프레임을 설정하거나 기본 속성을 설정한다.
- super.init(frame:. zero)
frame 값을. zero로 주는 경우가 많은데 초기에 뷰가 화면에 나타나는 걸 방지하기 위해 한다.
init(coder:)
Storyboard, xib을 이용하여 화면을 구성할 때 필요한 녀석이다. NScoder를 이용하여 처리하게 되며, 컴파일러가 인터페이스 빌더를 이용한 방법을 코드로 인식하지 않기 때문에 필요하다고 한다.
별로 안 써본 초기화 방법이라 음 그렇구나~ 정도의 생각이 든다.
'Swift > etc' 카테고리의 다른 글
| [Swift] 함수의 매개변수(Parameter) 레이블 (0) | 2023.03.18 |
|---|---|
| [Xcode] 디버거에서 data 타입을 사람이 볼 수 있는 방식으로 변환하는 법 (0) | 2023.03.18 |
| [Swift] Type of expression is ambiguous... 에러 (0) | 2023.03.15 |
| [Swift] self와 Self의 차이점 (0) | 2023.03.11 |
| [Swift] UserDefaults 사용법 정리 (0) | 2022.09.17 |