Question: There are a lot of posts asking how to make table view cells height dynamic and I understand that I could do it through `HeightForRowAtIndexPath`.

My questions is whether this is good practice or not.

It seems like an unscalable solution to check for a device and hard code a height just to be able to take up more room on lets say an iPhone 6 plus.

Is this good practice, should it be done at all, or is there a better way?
`

Answer: 
You can possibly set a height for your `TableView` multiplied with a suitable fraction. Say you design the cell for iPhone 6 Plus with dimensions of 1242 × 2208 pixels(414 × 736 points). Now you can infer a heightRatio w.r.t your current running device like

```
let heightRatio = UIScreen.mainScreen().bounds.height / 736

```

So in `heightForRowAtIndexPath` you may return the height as

```
return yourInterfaceBuilderCellHeight * heightRatio

```
If your data remains static or not changed dynamically then hard code for `heightForRowAtIndexPath`(giving static height) is OK, but if data is changing then it is not good practice to do hard code. You need to calculate each row's height so the data can be fit in it.