Slide 29
Slide 29 text
let viewModel = RequestListViewModel()
override func viewDidLoad() {
super.viewDidLoad(
viewModel.indicatorViewHidden.bindTo(indicatorView.bnd_hidden)
viewModel.retryViewHidden.bindTo(retryView.bnd_hidden)
viewModel.noDataFirstViewHidden.bindTo(noDataView.bnd_hidden)
viewModel.requestState.observeNew {
UIApplication.sharedApplication()
.networkActivityIndicatorVisible = ($0 == .Requesting)
if $0 == .Error {
StatusBarNotification.showWithStatus("Connection failed")
}
}
viewModel.items.lift().bindTo(tableView, proxyDataSource: self) {
(indexPath, dataSource, tableView) -> UITableViewCell in
let vm = dataSource[indexPath.section][indexPath.row]
let cell = tableView.dequeueReusableCellWithIdentifier(
ContactCell.identifier,
forIndexPath: indexPath) as! ContactCell
cell.configure(vm)
return cell
}
final class ContactsViewController: UITableViewController {