forked from yagom-academy/ios-project-manager
-
Notifications
You must be signed in to change notification settings - Fork 1
required init fatal error
LIMJISEONG edited this page May 31, 2022
·
1 revision
fatalError
가 발생하는 코드블럭이 당장 실행될 일이 없어도, 향후 코드를 쌓다보면 fatalError
가 많아질 수 있고, 그로 인해 큰 파장을 갖고올 수 있기때문에 절대 옳지않다라고 판단
그래서 이를 해결하기위해 이니셜라이저로 받는 프로퍼티를 옵셔널로 둬 required init에서 다시 초기화해야되는 상황을 막고, fatalError
를 super.init(coder: coder)
으로 변경
class ProjectListViewController: UIViewController {
private var viewModel: ProjectViewModelProtocol
init(viewModel: ProjectViewModelProtocol) {
self.viewModel = viewModel
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class ProjectListViewController: UIViewController {
private var viewModel: ProjectViewModelProtocol?
init(viewModel: ProjectViewModelProtocol) {
self.viewModel = viewModel
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
}
- 사용하는 기술에 대한 고민