Ich habe ein Array von AttributedString mit X-Elementen und eine tableView, die dieses Array anzeigen, und für jedes Element im Array wird es einen Abschnitt in der Tabelle sein. In der "CellForRowAt" -Funktion, wenn ich "let text = arrayTexts [indexPath.section] [indexPath.row]", der Fehler 'Typ NSAttributedString hat keine tiefgestellten Mitglieder' erscheint. Was kann ich tun?Typ NSAttributedString hat keine tiefgestellten Mitglieder in tableView
Erklärung: var arrayTexts = [NSAttributedString]()
Populate:
let html = json["data"][order]["informations"][textIndex]["text"].stringValue
let textHtml = html.unescapingFromHTML
do {
let str = try NSMutableAttributedString(data: textHtml.data(using: String.Encoding.unicode, allowLossyConversion: true)!, options: [NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType], documentAttributes: nil)
let fullRange : NSRange = NSMakeRange(0, str.length)
str.addAttributes([NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 17.0)!], range: fullRange)
self.arrayTexts.append(str)
self.tableView.reloadData()
} catch {
print(error)
}
Zeigen Sie, wie Sie 'arrayTexts' deklarieren und auffüllen. – rmaddy
Deklaration: var arrayTexts = [NSAttributedString](). Jedes Element ist eine Zeichenfolge, die aus einer Datenbank kommt, und ich verwende "try NSMutableAttributedString (data:, options:, documentAttributes:)", um es in attributedString umzuwandeln und in arrayTexts anzuhängen. –
Ihre Syntax setzt ein Array (Zeile) in einem Array voraus (Abschnitt) '[[]]'. –
vadian