¿cómo calculo heightForRowAtIndexPath cuando la celda aún no está construida?

Pregunta: ¿cómo se calcula mejor la altura de una fila en el método "heightForRowAtIndexPath" de un UITableViewController, dado que:

Estoy usando un UITableViewCell subclases personalizado y el tamaño real de la subvista (por ejemplo, UILabels) se calcula en tiempo de ejecución y depende de cosas como si el usuario cambió el tamaño de fuentela celda no está realmente preparada, parece ser anterior a una "heightForRowAtIndexPath", por lo que no puede confiar en llamar a su celda personalizada específica al instante para consultarla

Solo puedo pensar por el momento es: 1. En su subclase UITableViewCell personalizada, cree un método que calcule las alturas de cada subvista (por ejemplo, UILabel) que está en la subclase UITableViewCell, luego use esto dentro de la subclase de celda cuando está creando instancias 2. También en la subclase personalizada, cree un método de clase que se ejecute en todos los UILabels, llamando al método mencionado anteriormente, para resumir las alturas y, por lo tanto, calcular la altura total de la fila. Tendría que pasarle los datos (p. Ej., Texto en cada uno de los UILabels) 3. En el UITableViewController "heightForRowAtIndexPath", debe llamar al método de tipo "calRowHeight" desde (2) arriba, pasándole los datos de texto de la etiqueta . Entonces, efectivamente, llame a un método de clase en su subclase de celda personalizada que sepa cómo calcular la altura total de la fila, pero está utilizando la misma lógica que la celda también necesita ...

¿Hay alguna forma más fácil que esta que me estoy perdiendo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta