init?(viewModel: MovieListViewModel, coder: NSCoder) {
self.viewModel = viewModel
super.init(coder: coder)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
window?.rootViewController = storyboard.instantiateViewController(identifier: "MovieListViewController", creator: { creater in
let viewModel = MovieListViewModel(defaultMoviesUseCase: DefaultMoviesUseCase(moviesRepository: DefaultMoviesRepository(apiManager: APIManager())))
let viewController = MovieListViewController(viewModel: viewModel, coder: creater)
return viewController
})
NSCoder를 생성하려면 위의 코드를 사용한다.
'swift' 카테고리의 다른 글
[Swift] map, flatMap, compactMap, reduce (0) | 2025.02.27 |
---|---|
[iOS] super.init(nibName: nil, bundle: nil) 이해하기 (0) | 2025.02.26 |
[Swift] UserDefaults.synchronize() (0) | 2025.02.04 |
값 타입의 널 처리 주의할 점 (0) | 2025.01.23 |
5. 복습 (1) | 2023.11.12 |