개발자의 삽질
[iOS] "Class ViewController has no initializers" 에러 고치기 본문
ViewController에 프로퍼티를 두고 싶다!
클래스에 프로퍼티를 담을 때는 초기값을 갖고 있거나 생성자를 통해 초기화 과정을 거쳐야 한다.
그러면 ViewController는 어떻게 할까?
일단 아래의 코드는 에러를 발생한다.
class ViewController: UIViewController {
var username: String
}
아주 단순한 해결책으로는 초기값을 제공해주면 된다.
class ViewController: UIViewController {
var username: String = "Anonymous"
}
조금 복잡한 해결책으로는 생성자를 이용해야 한다.
주의 할 점은 required init?
이 필요하다는 것이다.
required init?(coder aDecoder: NSCoder) {
self.username = "Anonymous"
super.init(coder: aDecoder)
}
사실 UIViewController
를 상속받는 ViewController
에서의 저장 프로퍼티를 선언하는 것이나, 일반적인 클래스에 저장 프로퍼티를 선언하는 것이나 큰 틀에서 같다. 다만 required init
의 차이로 볼 수 있을 것이다.
'iOS' 카테고리의 다른 글
[iOS] 네트워크 연결 상태 확인하기! (0) | 2022.02.13 |
---|---|
[iOS] ISO8601DateFormatter 를 이용해 날짜 데이터를 문자로 바꾸어보자! (0) | 2022.02.09 |
[iOS] 뷰 컨트롤러의 수명 주기 (ViewController LifeCycle) (0) | 2022.02.06 |
[iOS] UIPickerView 를 사용해보자 (0) | 2022.01.17 |
[iOS] URLSession 을 이용한 네트워킹 (0) | 2022.01.12 |
Comments