NSAttributedString - HTML

  • NSAttributedString - HTML

    Hallo Leute,

    Ich habe eine Datenbank in der Titel folgend aussehen können: "Titel <i>voll notwendiger kursiver Text</i>".
    Nun kann ich ja mit einem UILabel zwar mit dem nsattributedString HTML darstellen, aber das scheint nicht sehr perfomant in einer UICollectionView abzulaufen, da sie dann hängt.

    Nun kann ich die Tags ja auch einfach rausfiltern, wäre nicht weiter schlimm. Gibt es aber eine native Möglichkeit Textpassagen kursiv/fett anzeigen zu lassen?

    Andere Möglichkeit wäre natürlich auch, den AttributedText schon vorher zu initialisieren und nicht erst in cellForRowAtIndexPath.

    Danke & Grüße
    Every language has an optimization operator. In ObjC that operator is ‘//’.

    golbros.de
  • Habe das hier irgendwie nicht mehr gesehen. :O

    Problem besteht weiterhin.

    Der Schnipsel sieht so aus:

    JavaScript-Quellcode

    1. cell.titleLabel.attributedText = [[NSAttributedString alloc] initWithData:[val dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSFontAttributeName: @"HelveticaNeue"} documentAttributes:nil error:nil];

    Um die Cell zu erzeugen benötigt es ca. 0.0373 (sekunden oder ms?)

    Wenn ich einfach nur den Text setze:

    Quellcode

    1. cell.titleLabel.text = val;

    Dauert das Ganze: 0.0016.

    Also ein großer Unterschied.

    Ich werde jetzt mal versuchen, die AttributedStrings schon vorher zu initialisieren und in ein Array zu packen.

    Gruß
    Every language has an optimization operator. In ObjC that operator is ‘//’.

    golbros.de
  • erstell dir doch einfach einen getter "attributedTitle" im object der dann _attributedTitle zurückliefert (nachdem check ob nil oder nicht - dementsprechend attrib-string erstellen und zuweisen).

    somit brauchst du nicht alle attributed strings vorher erstellen sondern sie werden nach gebrauch erstellt und dann gecached.