Ich schreibe eine Anwendung in Swift 3, die ein UITableView enthält. Ich erstelle meine Tabellenansichtszellen pragmatisch. Das Problem ist, dass der Beschriftungstext der Zelle nach der Funktion .reloadData() dauerhaft ist. Gibt es eine Funktion, um alle Elemente und Formatierungen von einer Zelle zu löschen, bevor sie benutzt wird? Ich instanziiere den UILabel via Code und kann nicht über Iterationen darauf zugreifen. Leider habe ich bereits viel Zeit in die programmatische Erstellung der Tabelle investiert. Daher möchte ich es vermeiden, zurückzugehen und möglichst eine Zellklasse zu erstellen.
Ich plane eine Funktion, so etwas zu verwenden:So löschen Sie Elemente, die programmgesteuert aus UITableViewCell erstellt wurden, bevor sie erneut verwendet werden
var label: UILabel
if reloadCount > 0 {
//clear all formatting from the cell
}
label = UILabel(frame: CGRect(x: 30, y: 0, width: self.screenWidth - 100, height: 50))
label.textAlignment = .center
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.textColor = UIColor(red: 127.0/255, green: 140.0/255, blue: 142.0/255, alpha: 1.0)
label.font = UIFont(name: "Tahoma", size: CGFloat(22))
label.numberOfLines = 0
label.tag = Int(self.thoughtFeed[indexPath.row].dbId!)!
label.text = thoughtFeed[indexPath.row].thoughtText!.fromBase64()
label.isUserInteractionEnabled = true
label.addGestureRecognizer(labelTap)
cell.addSubview(label)
Vielen Dank für die Hilfe.
Wie speichern Sie die Daten, die in Ihre TableView geladen werden? Zeigen Sie uns einige Ihrer 'UITableViewDataSource' Code. – toddg
löschen Sie Ihr Array, –
Planen Sie, diesen Code in 'CellForRowAt' auszuführen? – DonMag