MoviesSearchViewController
final class MoviesSearchViewController : UIViewController, Alertable
extension MoviesSearchViewController: UISearchBarDelegate
extension MoviesSearchViewController: UISearchControllerDelegate
-
- 강제 옵셔널를 사용하여 뷰 컨트롤러가 기능하는 데 중요한 역할을 함을 명확하게 표현합니다.
- 이 방법은
viewModel의 중요성을 강조하고, 실수로nil을 할당하는 것을 방지하는 데 도움이 될 수 있습니다.
Declaration
Swift
private var viewModel: MoviesSearchViewModel! -
Declaration
Swift
private var posterImagesUseCase: PosterImagesUseCase? -
Declaration
Swift
private var moviesTableViewController: MoviesListTableViewController? -
Declaration
Swift
private let disposeBag: DisposeBag -
Declaration
Swift
private var searchController: UISearchController -
Declaration
Swift
private lazy var moviesListContainer: UIView { get set } -
Declaration
Swift
private(set) lazy var suggestionsListContainer: UIView { get set } -
Declaration
Swift
private lazy var searchBarContainer: UIView { get set } -
Declaration
Swift
private lazy var emptyDataLabel: UILabel { get set }
-
ViewController의 생성을 Static 메서드를 활용해서 생성 로직을 DIContainer에 중앙화 할 수 있습니다.Declaration
Swift
static func create( with viewModel: MoviesSearchViewModel, posterImagesUseCase: PosterImagesUseCase? ) -> MoviesSearchViewControllerParameters
viewModelMoviesSearchViewController가 사용할 뷰 모델, 이 뷰 모델은 로그인 관련 로직을 처리하는 데 사용됩니다.posterImagesRepostioryMoviesListItemCell에서 사용할 Repository입니다.Return Value
초기화된
MoviesSearchViewController인스턴스를 반환합니다. -
Declaration
Swift
override func viewDidLoad() -
Declaration
Swift
override func viewDidLayoutSubviews()
-
Declaration
Swift
private func setupView() -
Declaration
Swift
private func bind(to viewModel: MoviesSearchViewModel) -
Declaration
Swift
private func updateTimes() -
Declaration
Swift
private func updateLoading(_ loading: MoviesSearchViewModelLoading?) -
Declaration
Swift
private func updateQueriesSuggestions() -
Declaration
Swift
private func updateSearchQuery(_ query: String) -
Declaration
Swift
private func showError(_ error: String)
-
Declaration
Swift
private func setupSearchController() -
Declaration
Swift
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) -
Declaration
Swift
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) -
Declaration
Swift
func willPresentSearchController(_ searchController: UISearchController) -
Declaration
Swift
func willDismissSearchController(_ searchController: UISearchController) -
Declaration
Swift
func didDismissSearchController(_ searchController: UISearchController)
MoviesSearchViewController Class Reference