Skip to content

Instantly share code, notes, and snippets.

@giln
Created May 6, 2019 13:48
Show Gist options
  • Save giln/7f1c252a864bc7908bf01ff8a0f74c7e to your computer and use it in GitHub Desktop.
Save giln/7f1c252a864bc7908bf01ff8a0f74c7e to your computer and use it in GitHub Desktop.
import UIKit
open class MovieSearchFetcherViewController: UIViewController {
var service: MovieService = MovieStore.shared
// MARK: - Variables
private let listStateViewController = ListStateViewController()
private let searchController = UISearchController(searchResultsController: nil)
// MARK: - Lifecycle
open override func viewDidLoad() {
super.viewDidLoad()
add(asChildViewController: listStateViewController)
listStateViewController.state = .empty("Start searching your favorite movies")
}
// MARK: - Public
open func searchMovie(query: String?) {
guard let query = query, !query.isEmpty else {
listStateViewController.state = .empty("Start searching your favorite movies")
return
}
listStateViewController.state = .loading
service.searchMovie(query: query, params: nil, successHandler: {
[unowned self] response in
self.listStateViewController.state = .list(response.results)
}, errorHandler: {
[unowned self] error in
self.listStateViewController.state = .error(error.localizedDescription)
})
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment