개발자의 삽질
[iOS] "Class ViewController has no initializers" 에러 고치기 본문
Fixing "Class ViewController has no initializers" - free Swift 5.4 example code and tips
Was this page useful? Let us know! 1 2 3 4 5
www.hackingwithswift.com
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