- Registriert
- 25.04.12
- Beiträge
- 131
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("LebensmittelCell") as! ModifyCells
if x == false {
if (indexPath.row == 0) {
cell.Name.text = "Static Cell"
return cell
}
} else {
var LM_ITEM = lebensmittel[indexPath.row]
cell.Name.text = LM_ITEM_NAME
return cell
}
}
Eine UITableView hat entweder nur statische oder dynamische Zellen. Eine Mischung der beiden Arten ist nicht möglich. Man kann das aber mit einer dynamischen UITableView simulieren.möcht gerne, wenn var x == true das eine Static Cell als erste Cell angezeigt wird und darunter die dynamischen cells.
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("LebensmittelCell") as! ModifyCells
if x == true {
if indexPath.row == 0 {
cell.Name.text = "Static Cell"
} else if indexPath.row > 0 {
var LM_ITEM = lebensmittel[indexPath.row-1]
cell.Name.text = LM_ITEM.Name
}
} else {
var LM_ITEM = lebensmittel[indexPath.row]
cell.Name.text = LM_ITEM.Name
}
return cell
}
Verstehe nicht, was du mir sagen willst. Meine Erklärung ist korrekt! Die Methode tableView(_:cellForRowAtIndexPath: ) muss immer eine, idealer Weise anhand der Daten konfigurierte, UITableViewCell zurückgeben, keine Daten.Außerdem ist die Erklärung so nicht richtig
Konfiguration der Zellen
Wenn x == true und die indexPath.row == 0 ist, gibt man die simulierte „statische Zelle“ zurück
Wenn x == true und die indexPath.row > 0 ist, gibt man die „Datenzelle“ zurück mit den Daten für indexPath.row - 1.
Wenn x == false, NUR DIE DATEN FÜR indexPath.row.
Ja, das kann mann eleganter lösen. Du musst nur mal überlegen, wie du die identischen und unterschiedlichen Codeteile so kombinierst, dass das selbe Ergebnis raus kommt. Das ist jetzt aber deine Hausaufgabe.Diese ganzen Code Zeilen kämmen lt. deinem Beispiel ja dann doppelt vor - kann man das eleganter lösen?
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.