Created
May 6, 2019 13:48
-
-
Save giln/7f1c252a864bc7908bf01ff8a0f74c7e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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