Laden Sie mehrere Prototypzellen in UITableView

Ich habe derzeit eine UITableView, die 2 Zeilen einer benutzerdefinierten Zelle enthält. Vor kurzem habe ich meinem Storyboard eine zweite Prototypzelle hinzugefügt und versucht, sie ohne Erfolg zu meinem UITableView hinzuzufügen. Meine cellForRowAtIndexPAth-Methode lautet wie folgt:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell: FlightsDetailCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as FlightsDetailCell

    cell.userInteractionEnabled = false

    if indexPath.section == 0 {

        cell.graphView.enableBezierCurve = true
        cell.graphView.enableReferenceYAxisLines = true
        cell.graphView.enableYAxisLabel = true
        cell.graphView.colorYaxisLabel = UIColor.whiteColor()
        cell.graphView.delegate = UIApplication.sharedApplication().delegate as BEMSimpleLineGraphDelegate
        cell.graphView.dataSource = UIApplication.sharedApplication().delegate as BEMSimpleLineGraphDataSource
        return cell
    }

    if indexPath.section == 1 {
        cell.graphView.enableBezierCurve = true
        cell.graphView.enableReferenceYAxisLines = true
        cell.graphView.enableYAxisLabel = true
        cell.graphView.colorYaxisLabel = UIColor.whiteColor()
        cell.graphView.delegate = self
        cell.graphView.dataSource = self
        return cell
    }

    if indexPath.section == 2 {

        let cell2: FlightsInformationCell = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as FlightsInformationCell
        cell2.userInteractionEnabled = false

        return cell2
    }

    return cell

}

Section 0 und Section 1 laden die Prototypzelle korrekt mit der ID "Cell", aber wenn ich zu Section 2 gehe, erhalte ich eine weitere Instanz der ersten Prototypzelle abzüglich aller Daten, da ihr kein Delegat oder keine Datenquelle zugewiesen wurde. Ansonsten sind die Zellen identisch mit den IDs von "Cell" bzw. "Cell2" eingerichtet, aber ich kann anscheinend nicht auf "Cell2" zugreifen.

Zusätzliche Erläuterung: Ich habe 2 Prototypzellen in meinem Storyboard. Beide sind gleich eingerichtet, da ihre Bezeichner in denselben Feldern angegeben sind, von ihren eigenen Klassen erben und in UITableView als gleich deklariert wurden. Was die Delegaten und Datenquellen betrifft, enthält meine ursprüngliche Prototypzelle ein Diagramm (verwendet BEMSimpleLineGraph). Jede Instanz dieser Zelle verfügt über einen eigenen Delegaten und eine eigene Datenquelle und wird im obigen Code für die Aktionen 0 und 1 angezeigt.

Die erste Zelle, die unten abgebildet ist (grau), ist die ursprüngliche Zelle, die ein Diagramm enthält, und Zelle2 ist direkt darunter in Weiß.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage