// // AccountListTableViewController.swift // Tusker // // Created by Shadowfacts on 9/5/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import UIKit class AccountListTableViewController: EnhancedTableViewController { private let accountCell = "accountCell" let mastodonController: MastodonController let accountIDs: [String] init(accountIDs: [String], mastodonController: MastodonController) { self.accountIDs = accountIDs self.mastodonController = mastodonController super.init(style: .grouped) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() tableView.register(UINib(nibName: "AccountTableViewCell", bundle: .main), forCellReuseIdentifier: accountCell) tableView.rowHeight = 66 tableView.alwaysBounceVertical = true tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: CGFloat.leastNormalMagnitude)) } // MARK: - Table view data source override func numberOfSections(in tableView: UITableView) -> Int { return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return accountIDs.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = tableView.dequeueReusableCell(withIdentifier: accountCell, for: indexPath) as? AccountTableViewCell else { fatalError() } let id = accountIDs[indexPath.row] cell.delegate = self cell.updateUI(accountID: id) return cell } } extension AccountListTableViewController: TuskerNavigationDelegate { var apiController: MastodonController { mastodonController } }