シンプルにSwiftでTableViewを使いたい!

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

TableViewにコードからデータ(TableViewCell)を突っ込む方法をまとめました。
必要最低限にまとめたと思います!

データ管理用のクラスを作成する

todoListControllerを作って、データ(TableViewCell)を生成するクラスを作成します。

todoListController.swift
import Foundation
import UIKit

class MyTableViewController: NSObject, UITableViewDelegate, UITableViewDataSource {
    private let items = ["a", "b", "c"]

    //挿入したいデータ(TableViewCell)を1行ずつ生成する
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let newCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        newCell.textLabel?.text = items[indexPath.row]
        return newCell;
    }

    //挿入するデータ数を返す
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return items.count;
    }
}

ViewControllerから呼び出す

ViewController.swift
import UIKit

class ViewController: UIViewController {
    @IBOutlet var tableView:UITableView!
    var tableViewController = MyTableViewController()//コントローラを呼び出す

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        //行のテンプレを登録する(Identifierに注意)
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")

        //コントローラを登録
        tableView.delegate = tableViewController
        tableView.dataSource = tableViewController
    }

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