質問: ["2016/06/25", "2016/06/24", "2016/06/23", "2016/06/22"] //「A.jpg」の日付は「2016/06/25」となります。 ```
回答: UITableView に複数のセクションでセルを表示するには、UITableViewDataSourceの ``` func numberOfSections(in tableView: UITableView) -> Int ``` メソッドを実装し、セクションの数を返すようにしてください。 一覧、タグ別、日付別のどのボタンが選択されているのかを判定して、 日付別なら `1` 、タグ別なら存在するタグの種類の数を返すことになるでしょう。 すでに日付別の表示ができているのなら、以下のメソッドは実装ずみだと思います。 ``` func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell ``` こちらも選択中のボタンにあわせて、 それぞれ適切な内容を返すように変更してください。 また、ボタン押下時に表示データを切り替えるには、テーブルビューに対して、`reloadData`メソッドを呼んでください。 なお、以下のようなデータの持ち方 > > let image = ["A.jpg", "B.jpg", "C.jpg", "D.jpg"] > > let tag = ["A", "B", "A", "A"] //「A.jpg」のタグは「A」となります。 > > let date = ["2016/06/25", "2016/06/24", "2016/06/23", "2016/06/22"] > > > をしていると、タグ別や日付別でデータの並び順が変化することに対応するのがとても難しくなります。 セル1つ分のデータをまとめた struct または class を定義して、その型の配列としてデータを持つことをおすすめします。