Slide 28
Slide 28 text
func tableViewModelForUserList(users: [User], deleteClosure: CommitEditingClosure) -> TableViewModel {
return TableViewModel(sections: [
TableViewSectionModel(cells:
users.map { viewModelForUser($0, deleteClosure: deleteClosure) }
)
])
}
func viewModelForUser(user: User, deleteClosure: CommitEditingClosure) -> TableViewCellModel {
func applyViewModelToCell(cell: UITableViewCell, user: Any) {
guard let cell = cell as? UserCell else { return }
guard let user = user as? User else { return }
cell.nameLabel.text = user.username
}
return TableViewCellModel(
cellIdentifier: "UserCell",
applyViewModelToCell: applyViewModelToCell,
commitEditingClosure: deleteClosure,
customData: user
)
}
28 — Turning UIKit Inside Out | @benjaminencz | iOSCon 2016, May 2016