Skip to content

Instantly share code, notes, and snippets.

View ykpoh's full-sized avatar

Yk Poh ykpoh

  • Melaka, Malaysia
View GitHub Profile
struct Launch: Codable, Equatable {
let id: String?
let name: String?
let details: String?
let date_utc: Date?
let upcoming: Bool?
let success: Bool?
let rocket: String?
init(id: String?, name: String?, details: String?, date_utc: Date?, upcoming: Bool?, success: Bool?, rocket: String?) {
struct LaunchResponse: Codable, Equatable {
let docs: [Launch]?
}
class LaunchListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var tableView: UITableView!
var viewModel: LaunchListViewModelType = LaunchListViewModel()
var disposeBag: DisposeBag!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableView.delegate = self
protocol LaunchListViewModelType {
var launchViewModels: BehaviorRelay<[LaunchListTableViewCellViewModel]> { get } // 1
var notifyError: BehaviorRelay<Error?> { get } // 2
func fetchLaunchesWithQuery() // 3
}
class LaunchListViewModel: LaunchListViewModelType {
let apiService: APIServiceProtocol // 4