Ich habe einen UITabBarController, und alle VCs in den Registerkarten verwenden das gleiche Modell (jede Registerkarte zeigt nur das Modell anders an). Wie erstelle ich dieses Modell und teile es unter den anderen VCs? Initialisiere ich es in der Landung VC (wenn der Benutzer die App öffnet) und dann an die anderen mit prepareForSegue
oder etwas? Oder gibt es eine andere Möglichkeit, ein "gemeinsames" Modell/eine gemeinsame Klasse zwischen VCs in einer App zu erstellen?Wie kann ich ein einzelnes freigegebenes Modell für alle VCs in einem UITabBarController haben?
1
A
Antwort
2
Sie haben grundsätzlich drei Methoden.
1.: Verwenden Sie Ihre AppDelegate ein Modell zu speichern und darauf zuzugreifen mit:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.model
2.:
Tutorial: http://www.galloway.me.uk/tutorials/singleton-classes/
3. Sie einen Singleton (eine gemeinsame Instanz) verwenden können, : Verwenden Sie eine Factory-Klasse, die Ihre Tableiste erstellt, teilen Sie allen Controllern dasselbe Modell mit und geben Sie es an Ihr appDelegate zurück.
Zoul machte einen großen Sample zu veranschaulichen, wie das funktioniert: https://github.com/zoul/Singletons-Suck
die 3. mein Favorit ist =)
0
Sie es in Ihrem AppDelegate als Klasse Eigenschaft initialisieren können und nennen es von überall her:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.myModel....
Verwandte Themen
- 1. Django-Dump-Daten für ein einzelnes Modell?
- 2. Django aktualisiert ein einzelnes Modell
- 3. So erstellen Sie ein freigegebenes Modell für zwei verschiedene Ansichten?
- 4. Wie kann ich ein ng-Modell in btn-Gruppe haben
- 5. Benötige ich ein separates Modell/Controller für jedes Szenario oder kann ich ein einzelnes Modell/Controller für mehrere Szenarien verwenden?
- 6. Wie kann ich ein einzelnes Suchfeldformular haben, das alle Datensätze von allen Modellen ausgibt?
- 7. Wie kann ich alle Objekte in einem Django-Modell erhalten, die einen bestimmten Wert für ein ForeignKey-Feld haben?
- 8. Liefern alle Klassenmethoden ein automatisch freigegebenes Objekt?
- 9. PHP Fraktale Transformatoren - Mehrere Transformatoren für ein einzelnes Modell?
- 10. Wie bette ich UITabBarController in UINavigationController ein?
- 11. Kann ich ein Django-Formular ohne Modell haben
- 12. Kann ein Modell mehrere CakePHP-Tabellen haben?
- 13. Kann ich eine dynamische Anzahl von Fremdschlüsseln für ein einzelnes (Selbst-) Django-Modell erstellen?
- 14. Kann ich ein Django-Modell haben, das einen Fremdschlüsselbezug hat?
- 15. Wie validiere ich ein einzelnes Attribut von einem verschachtelten Objekt
- 16. Wie UITabBarController zu haben ist tabBarSelection
- 17. Wie kann ich ein einzelnes Zitat in Ruby entkommen?
- 18. Wie Regex für ein einzelnes Zeichen in einem String verwenden?
- 19. Wie entpacke ich ein einzelnes Git-Objekt?
- 20. Wie kann ich mit CURLOPT_HEADERFUNCTION ein einzelnes Antwortheaderfeld lesen?
- 21. wie alle mehrdimensionales Array in ein einzelnes Array
- 22. Schienen - Wie kann ich eine if-Anweisung im Modell haben?
- 23. Wie richte ich ein freigegebenes R-Paketverzeichnis auf einem Server ein?
- 24. coderigniter, wie man ein einzelnes Attribut in einem Tupel aktualisiert
- 25. OnClick-Taste für ein einzelnes Formular in einem Array
- 26. Wie kann ich ein zugehöriges Modell validieren?
- 27. Was ist ein VCS-Repository?
- 28. Projektstruktur für ein einzelnes Dokument
- 29. Wie kann man ein einzelnes Zeichen mit einem Backslash ersetzen
- 30. Wie gruppiere ich meine Paketimporte in ein einzelnes benutzerdefiniertes Paket?