Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // NewsViewController.swift
- // KIPU
- //
- // Created by Elvis on 4/21/18.
- // Copyright © 2018 Elvis. All rights reserved.
- //
- import UIKit
- class NewsViewController: BaseViewController {
- @IBOutlet weak var tableView: UITableView!
- var viewModel = NewsViewControllerVM()
- let cellIdentifier = "cellIdentifier"
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- self.title = "Новости"
- self.tableView.register(NewsCell.className, forCellReuseIdentifier: self.cellIdentifier)
- self.viewModel.requestNews()
- self.tableView.reloadData()
- self.tableView.rowHeight = UITableViewAutomaticDimension
- self.tableView.estimatedRowHeight = 200
- self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(createNews))
- }
- @objc func createNews() {
- let vc = CreateNewsViewController()
- vc.hidesBottomBarWhenPushed = true
- self.navigationController?.pushViewController(vc, animated: true)
- }
- }
- extension NewsViewController: UITableViewDataSource {
- func numberOfSections(in tableView: UITableView) -> Int {
- return 1
- }
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return self.viewModel.cellsData.count
- }
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCell(withIdentifier: self.cellIdentifier, for: indexPath) as! NewsCell
- let viewModel = self.viewModel.cellsData[indexPath.row]
- cell.setup(viewModel)
- return cell
- }
- }
- extension NewsViewController: UITableViewDelegate {
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- tableView.deselectRow(at: indexPath, animated: true)
- let vm = self.viewModel.cellsData[indexPath.row]
- let vc = NewsDetailsViewController(newsVM: vm)
- vc.hidesBottomBarWhenPushed = true
- self.navigationController?.pushViewController(vc, animated: true)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement