2011-01-04 9 views
0

Ich bin ein Java-Entwickler neu in iOS und objektive c-Entwicklung.iOS: Mehrere Ansichten Zugriff auf die gleichen Daten - wie auf?

Ich muss eine iOS-Anwendung erstellen, in der mehrere Ansichten (z. B. eine ListView und eine MapView) auf dieselben Daten zugreifen (z. B. in einem NSArray gespeichert).

Momentan weise ich eine DataManager-Klasse zu, die die Daten lädt (Laden von einem Plist, später sollte es aus dem Web angefordert werden) im App-Delegaten.

Wie kann ich auf diese Daten von den Ansichten zugreifen? Sollte der DataManager ein Singleton sein? Gibt es eine bessere/elegantere/mehr "obj-c 2.0" Lösung?

Danke!

Antwort

1

Verwenden Sie die MVC-Architektur. Ihre Daten sind ein Modell Objekt, das an die verschiedenen Controller Controller übergeben werden kann, die die Daten zum Auffüllen der Ansichten verwenden. In Cocoa Touch sind die Ansichten die Unterklassen UIView, die Sie normalerweise in XIB-Dateien erstellen. Die Controller starten normalerweise mit UIViewController Instanzen, die die Ansichten verwalten, enthalten jedoch Elemente wie Delegaten für Tabellenansichten und Datenquellen. Die Modelle sind die Objekte, die Sie erstellen, um die Daten zu repräsentieren - Ihre DataManager Klasse.

Es gibt viele Frameworks in der Java-Welt, die das MVC-Muster verwenden, so dass Sie möglicherweise bereits daran gewöhnt sind, Klassen auf diese Weise zu teilen, wenn Sie z. Spring MVC oder Eclipse RCP.

+0

thx, ja ich bin vertraut mit MVC (obwohl ich hauptsächlich Backend EE stuff) - ich habe bereits die XIBs und die View-Controller, und zuvor hatte ich den ListViewController die Daten für die Tabellenansicht direkt, aber jetzt Ich muss dies umgestalten, da die Kartenansicht auch auf diese Daten zugreifen muss. – thomers

Verwandte Themen