とがみんブログ
就活中、自己分析にハマり、心理学、脳科学の本を読み漁りつつ哲学チックなことをひたすら考えていました。このブログでは、そんなとがみんの考えや経験を綴っていきます。
swift

【Swift4】UITableViewControllerの使い方

どうも。とがみんです。

現在セブ島のNexSeedというプログラミングと英語を勉強できる学校で、エンジニア留学卒業後、ティーチングアシスタントとして、インターンをしています。

>エンジニア留学|NexSeed

今回は、UITableViewControllerの使い方についてまとめたので、紹介します。

今回作成するアプリ

以下が今回作成するサンプルアプリです。

スポンサードリンク

実装方法

UITableViewControllerの準備

UITableViewControllerを表示します。

その後ViewControllerを選択し、削除します。

削除したら、Is Initioal View Controllerにチェックを入れます。これで、このUITableViewControllerがアプリ実行時にはじめに呼ばれる画面になります。

ViewController.swiftファイルも削除します。

次にcommand+Nキーを押して、新しいファイルを選択します。Cocoa Touch Classを選択します。

TableViewControllerと名前をつけ、Subclass ofUITableViewControllerにし保存します。

新しくTableViewControllerクラスが書かれた、ファイルが作成されるので、TableViewControllerを選択し、ユーティリティエリアのCustom ClassTableViewControllerを記入して準備完了です.

TableViewController機能の説明

テーブルに関する関数についてそれぞれ説明していきます。

  1. テーブルのセクションについて
  2. 各セクションに表示させるセルの数
  3. セルのインスタンス化
  4. セルをスワイプした際にボタンを表示する関数
  5. セル選択後、セルの情報を別のviewに送る処理

1.テーブルのセクションについて

以下の関数は、テーブルビューに表示するセクションの数を返します。返り値を2としています。テーブル上に2つのセクションが現れます。2つ目の関数は、それぞれのセクションのタイトルを設定しています。

2.各セクションに表示させるセルの数

以下の関数は、各セクションに表示するセルの数を返します。

セルに入れるデータの配列をあらかじめ作っておき、その配列の個数だけ、セルの数を返します。

3.セルのインスタンス化

以下の関数は、セル一つ一つに対してどういう処理とするかを書いていきます。

withIdentifiercellにし、Table View CellのユーティリティエリアのIdentifirecellと記入します。

これで、ストーリーボード 上のセルと、コードのcellを紐ずけます。名前はなんでも良いです。

cell.textLabel?.text = animal[indexPath.row]の処理は、セルにanimal配列の中身が表示されます。

4.セルをスワイプした際にボタンを表示する関数

以下の関数で、テーブルのセルを横にずらしたときに、処理を行うボタンを表示させることができます。

5.セル選択後、セルの情報を別のviewに送る処理

UIViewControllerを配置し、NextViewController.swiftファイルを新しく作成し、ユーティリティエリアのclassの部分にNextViewControllerと記述します。

セグエを引っ張り、セグエのIdentifirenextを記述。

そして、セルを押した時にNextViewControllerのラベル押したセルの内容が表示されるようにします。

NextViewController.swiftに書かれているコードは以下です。

GitHub

サンプルコードはGitHubにあげています。参考にしながら実装してみてください。

>https://github.com/togamin/UITableViewControllerSample.git

まとめ

UITableViewControllerの使い方と、よく使う機能についてまとめました。

また、下記がインターンをしているNexSeedという「プログラミング×英語」の勉強ができるセブにある学校です。

起業志向の人や、フリーランスを目指す人等、意識の高い人が多く、自分も良い刺激をもらっています。

留学を考えているけど、英語だけじゃ物足りないと感じる人、起業やフリーランスとして働くことを見据えている人は是非見てみてください!