How to design a ViewController with complex TableView
<p>Imagine this scenario:<br></p>

<ul>
<li>I've 10 different and custom UITableViewCell: one with a textfield,
one with a button, one with some labels, one with a textview, one
with an imageView and so on.</li>
<li>I've a ViewController with a tableView where I wanna display these cells.</li>
<li>The number of cell displayed can vary based on some conditions (and also the height, the background color and other parameters)</li>
<li>The user can interact with these cells</li>
</ul>

<p><br>
What is the best way to design this in respect of the MVC and maintain the ViewController lightweight and maintainable as possible?<br>
How to take advantage of Swift language in doing this?<br>
Is there any famous and consolidate design pattern to apply?<br></p>