iOS
初心者
Swift

[ios]脱初心者! storyboardを使用せずに、tableViewを表示して見た

ios開発を始めて、3ヶ月ぐらいが経ちました。
まだまだ勉強中ではありますが、四苦八苦しながら開発しています。
少しでもレベルアップしたいと思い、今回はstoryboardを使用せず、コードだけでtableViewを表示してみました。

[開発環境]
Xcode9
Swift4

storyboardを使用せずに、tableViewを表示させようとした時に、「cellのidentifierはどうやって表示させればいいんだ?」と思いました。
色々調べてみると下記のようなコードになりました。
今回は、UITableViewControllerを使用しましたが、UIViewControllerにdelegateを設定する方法もできると思います。
ただ、storyboardに慣れてしまうと、なかなかやりにくいのが正直なところですね。
慣れていくしかないかなと・・・頑張ります!!

TableViewController.swift
class TableViewController: UITableViewController {

    let dataList = ["0時〜6時","7時〜12時","12時〜18時","18時〜0時",]

    let cellIdentifier = "Cell"


    override func viewDidLoad() {
        super.viewDidLoad()

        let backButton = UIBarButtonItem(title: "戻る", style: UIBarButtonItemStyle.plain, target: self, action: #selector(TableViewController.back(_:)))
        self.navigationItem.leftBarButtonItem = backButton
        self.navigationItem.title = "周辺の交通状況"
        //空白のセルは非表示に設定
        self.tableView.tableFooterView = UIView(frame: CGRect.zero)
        self.tableView.rowHeight = 70
                //セルの境界線を端まで表示
        UITableView.appearance().separatorInset = UIEdgeInsets.zero
                //cellIdentifierをここで設定。
        self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellIdentifier)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @objc func back(_ sender: UIButton) {// selectorで呼び出す場合Swift4からは「@objc」をつける。
        self.dismiss(animated: true, completion: nil)
    }

    // MARK: - Table view data source
    override func tableView(
        _ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataList.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath)

        cell.textLabel?.text = dataList[indexPath.row]
        cell.textLabel?.font = UIFont(name: "Helvetica", size: 20.5)
        cell.textLabel?.frame = CGRect(x: 0, y: 1000, width: 100, height: 100)
        return cell
    }
}