Handling von Daten über mehrere Views hinweg

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Handling von Daten über mehrere Views hinweg

    Hallo zusammen,

    in einem einfachen Lernprojekt habe ich ein Rezeptbuch über eine TableView umgesetzt, die mittels NavigationController die einzelnen Rezepteinträge zeigt. Daten (in Form der eigenen Klasse "Rezept") werden über eine "RezeptManager"-Klasse verwaltet (also Löschen, Editieren und Hinzufügen der Rezepte). Dieser RezeptManager wird bisher im TableViewController initialisiert.

    Meine Frage ist nun, wie eine Umsetzung aussehen würde, wenn man die bisherigen Views in eine vorangestellte TableView einbinden wollen würde (also in Form eines Hauptmenüs, das dann unter anderem den Eintrag "Rezepte" hätte). Da ich gerne die Anzahl der bisher gespeicherten Rezepte innerhalb der TableView anzeigen würde, müsste ich den RezeptManager bereits im HauptMenuViewController initialisieren, oder?
    Gibt es einen Weg in den für den TableViewDelegate benötigten Methoden auf die RezeptManager-Instanz des HauptMenus als DataSource zu verweisen, oder müsste ich diesen über die Segues immer mitgeben? (ich weiß nicht genau, wie das im Hintergrund umgesetzt wird, aber ich vermute, dass es ein ziemlich ineffizienter Weg wäre, oder?)

    Über Anregungen wäre ich sehr dankbar! :)

    Viele Grüße,
    Tazaki


    /Edit: mir ist gerade eingefallen, dass es eventuell über ein eigenes Protokoll funktionieren könnte.. ich probiere das mal und melde mich, wenn ich es getestet habe.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tazaki ()

  • Wenn man ein Objekt an mehreren Stellen in einer App benötigt, dann sollte man die Referenz auf dieses Objekt entsprechend übergeben.

    Alternativ könnte man ggf. auch mit einem Singleton arbeiten, wobei die Erweiterung der Funktionalität der App dann ggf. eingeschränkt wird. Man hätte in Deinem Fall dann ggf. nicht mehr die Möglichkeit mehr als 1 Rezeptbuch in der App zu verwenden.
  • Hallo MCDan,

    vielen Dank für deine Hilfe, ich werde zu beiden Ansätzen mal ein bisschen Recherchieren :)

    Ein Singleton wäre absolut in Ordnung, denn das Rezeptbuch soll tatsächlich schon alle gespeicherten Rezepte enthalten, wodurch kein zweites benötigt wird (eine Kategorisierung wäre dann beispielsweise über die Sections der TableView möglich). Die anderen Einträge im Hauptmenü sind dann thematisch getrennt (ich denke da an eine Übersicht sportlicher Aktivitäten oder ähnliches).

    Nochmals Danke!

    /Update: Die Lösung mit dem Singleton hat wunderbar funktioniert :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tazaki ()