Altura dinâmica do UITableView com objetos Core Data

Eu tenho tentado resolver um mistério nos últimos dias a respeito de porque meu NSFetchedResultsController com um tamanho de lote de 20 sempre falhava (ou seja, carregava na memória) todos os meus objetos imediatamente quando a busca era concluída, fazendo com que a solicitação leva ~ 20 segundos.

Acontece que foi porque no meu heightForRowAtIndexPath, a altura foi baseada no comprimento de uma propriedade NSString de cada objeto buscado e, assim, ao recarregar a tabela, se a tabela tiver 2000 linhas, a altura será calculada para cada linha em o começo, e desde que eu acesso uma propriedade de texto do objeto, ele falharia em 2000 objetos (em lotes de 20 tamanhos) bem no começo, fazendo com que demorasse uma eternidade. (Eu não sabia que as alturas das linhas eram calculadas no início).

Então, a questão é, se eu tenho um controlador de resultados de busca com um tamanho de lote de 20, mas minhas alturas de linha são baseadas em uma propriedade de texto do objeto, que se eu tentar acessar causaria o objeto não ser mais uma falha, mas realmente carregado na memória, o que seria uma solução para calcular a altura?

Quais são minhas opções?

questionAnswers(2)

yourAnswerToTheQuestion