ジェネリクスにせずTableViewSectionTypeのままでもいいのですが、利用するときにダウンキャストをするのが面倒なのでジェネリクスにしています。cellTypeを持たせました。後ほどアクションやセルの見た目を分岐するために利用します。表示するセルの数だけあると考えれば良いと思います。値を格納するところの書き方は人それぞれ好みは分かれそうですがこんな感じになりました。宣言部分では、必要なジェネリクスの宣言もすることになります。}}UITableViewCellは複数の種類を分岐で使い分けできるようになっています。例としては全て分岐していますが、必要に応じてまとめて処理をすることになると思います。}}セルによってタップの処理を変えています。Sectionヘッダーに表示してみました。まとめと、こういう形でprotocolに適合させた形で型を書くのは面倒ですが、一度書いてしまえば扱いやすい形になりました。準拠させるかというと微妙なところもあると思っています。実際に使えるのは今回の設定のようなその画面に必要な要素をその場で作るという時くらいかもしれません。protocolに準拠させるのはコスト的に無駄かもしれません。同じ構造の型を直接作れば良い話なので。型がわかっているならジェネリクスにしなくても良いかもしれません。突っ込みどころ満載ですが、考えた記録として残しておきます...。コメントデータの処理方法の詳細はこちらをご覧ください。