Suche neu initiieren in untergeordnetem ViewController

  • Suche neu initiieren in untergeordnetem ViewController

    Hallo!

    Ich bin immer noch an meiner ersten iPhone Applikation und stehe vor einem Problem:
    Ich habe eine TabBar und einen NavigationController und befinde mich in einer Suche in der die Suchresultate in einer TableView ausgegeben werden.
    Wähle ich eine TableRow aus, so pushe ich einen neuen ViewController hinein.
    Nun kann es sein, dass durch eine Aktion dieses Suchresultat verschwinden muss und für den Benutzer nicht mehr sichtbar sein soll, da der Eintrag gelöscht wird vom Benutzer.

    Geschieht dies, so mache ich ein "pop" in diesem ViewController um wieder eine Stufe nach oben zu gelangen. Das Problem ist jetzt nur, dass noch die alten Suchresultate erscheinen. Dieser betreffende Eintrag soll jedoch nicht mehr erscheinen.

    Wie kann ich das erreichen? Am Besten die Suche neu ausführen? Doch wie? Wie kann ich diese Suche neu initiieren aus dem ViewController, der eine Ebene darunter liegt?

    Hat jemand eine Idee?

    Gruß PHANTOMIAS
  • RE: Suche neu initiieren in untergeordnetem ViewController

    Dieses Problem ist nicht nur iPhone spezifisch und mir fallen dazu folgende Lösungsmöglichkeiten ein:

    1) Der "List" ViewController registriert sich für eine Delete-Notification des "Detail" ViewControllers, welche beim Löschen verschickt wird.

    2) Der "List" ViewController ist Delegate für den "Detail" ViewController, welcher beim Löschen z.B. detailViewController:didDeleteXXX: aufruft.

    3) Der "Detail" ViewController kennt den "List" ViewController und ruft beim Löschen eine entsprechende Update Funktion im "List" ViewController auf.

    Wenn Du die einzelnen ViewController möglichst modular halten möchtest, dann solltest Du Lösung 1 verwenden.

    Der "List" ViewController kennt den "Detail" ViewController, da er diesen verwendet und aufruft. Der "Detail" ViewController muss jedoch nichts von der Existenz des "List" ViewControllers wissen und verschickt einfach nur eine Notification wenn das angezeigte Objekt gelöscht wird.