Dynamische UITableView-Höhe mit Core Data-Objekten

Ich habe in den letzten Tagen versucht, ein Rätsel zu lösen, warum mein NSFetchedResultsController mit einer Stapelgröße von 20 immer alle meine Objekte sofort nach Abschluss des Abrufs fehlerhaft verarbeitet (dh in den Speicher geladen) hat und die Anforderung dazu veranlasst hat Nimm ~ 20 Sekunden.

Es stellt sich heraus, dass dies daran lag, dass in meinem heightForRowAtIndexPath die Höhe auf der Länge einer NSString-Eigenschaft jedes abgerufenen Objekts basierte. Wenn die Tabelle beim erneuten Laden 2000 Zeilen enthält, wird die Höhe für jede Zeile in berechnet Am Anfang, und da ich auf eine Texteigenschaft des Objekts zugreife, würde es in 2000 Objekten (in Stapeln von 20 Größen) gleich am Anfang Fehler verursachen, was dazu führen würde, dass es für immer dauert. (Ich wusste nicht, dass am Anfang alle Zeilenhöhen berechnet wurden).

Die Frage ist also, ob ich einen Abrufergebnis-Controller mit einer Stapelgröße von 20 habe, aber meine Zeilenhöhen basieren auf einer Texteigenschaft des Objekts. Wenn ich versuche, darauf zuzugreifen, ist das Objekt jedoch kein Fehler mehr Was wäre ein Workaround, um die Höhe zu berechnen?

Welche Möglichkeiten habe ich?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage