What is the difference between using tableview.rowHeight and calling the function tableView(_:heightForRowAt:)

What is the difference between directly using tableView.row height to set the row height in a table view dynamically and tableView(_:heightForRowAt:) To set the row height dynamically