Ich habe eine gruppierte Tabellenansicht, die aus zwei Zeilen besteht und jede Zeile hat eine benutzerdefinierte Tabellenansicht Zelle. Ich habe die benutzerdefinierten Tabellenansichtsklassen und Zellbezeichner erstellt und den Tabellenansichtszeilen in Interface Builder zugeordnet. Meine erste Tabellenansichtszelle ist in Ordnung, aber die zweite scheint die gleichen Eigenschaften wie die erste Zelle zu haben. Wenn ich jedoch auf die zweite Zelle klicke, tippe dann auf die erste Zelle und die zweite Zelle auf das richtige Zellen-Design.UITableView mit zwei benutzerdefinierten Zellen, die nicht richtig angezeigt werden
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("EditCellID", forIndexPath: indexPath) as! EditCell
if indexPath.row == 0
{
//Do some stuff
return cell
}
if indexPath.row == 1
{
let cell = tableView.dequeueReusableCellWithIdentifier("DeleteCellID", forIndexPath: indexPath) as! DeleteCell
//Do some stuff
return cell
}
return cell
}
Macht Sinn, aber ich bekomme einen Fehler, wenn ich versuche, die Zelleigenschaften in der ersten if-Anweisung zu setzen. Zum Beispiel hat EditCell ein 'UITextField IBOutlet', aber wenn ich es einstelle, erhalte ich eine Fehlermeldung, die besagt, dass 'Wert vom Typ UITableViewCell kein Mitglied titleField' hat. Aus irgendeinem Grund bleibt die Zelle als Typ "UITableViewCell", anstatt in "EditCell" zu wechseln. – Brosef
Entschuldigung, ich habe vergessen, diesen Leckerbissen zu meiner Antwort hinzuzufügen. Tun Sie das einfach: '(Zelle als! EditCell) .titleField' – Lucas
Wow! das hat perfekt funktioniert, aber warum ist '(cell as! EditCell) .titleField' notwendig? Haben wir die Zelle nicht als EditCell in diese Zeile cell = tableView.dequeueReusableCellWithIdentifier ("EditCellID", forIndexPath: indexPath) as! EditCell'? – Brosef