앱/iOS(Swift)
[Swift] init
리드맥
2022. 1. 22. 22:21
이니셜라이저: 클래스가 부모 클래스에서 상속한 모든 속성을 포함해서, 저장속성은 초가화 하는동안 초기값을 지정해줘야함
- 지정 이니셜라이저
Class B{
init(매개 변수) {
//sadasd
}
* 편의 이니셜라이저{
self.init(name: name) //지정이니셜라이저를 호출해야함
}
class A : B{
init() {
//무조건 부모클래스 이니셜라이저를 호출해야함
super.init()
}
}
}
- 부모클래스의 이니셜라이셔를 호출 해야한다
- 클래스 내부에 반드시 한개이상의 지정 이니셜라이저가 있어야함
- 클래스의 모든 저장프로퍼티를 초기화 해야함
- 상속받은 클래스에 지정이니셜 라이저가 있으면 반드시 부모클래스 이니셜라이저를 호출해야함.
ex) init(){ super.init(frame: .zero) } - 편의 이니셜라이저는 self.init로 지정이니셜라이저를 호출해야한다
- 자식클래스에서 이니셜라이저를 정의하지않는경우에만 부모 이니셜라이저를 상속받는다
- 부모클래스의 모든 이니셜라이저를 구현한 경우에만 부모클래스의 편의 이니셜라이저를 상속받는다