Angenommen, ich habe zwei Viewcontroller. Auf dem ersten Viewcontroller muss ich eine von N Optionen auswählen und abhängig von dieser Option hat der zweite Viewcontroller ein anderes Verhalten. In der Praxis kann ich die gleichen Methoden aufrufen, aber mit unterschiedlichen Implementierungen, aber ich möchte kein Argument (enum) übergeben, das den aktuellen Modus des Viewcontrollers in jeder Methode beschreibt oder jedes Mal einen Switch ausführt. Was ist die relevanteste Designlösung für diesen Fall?ViewController mit mehreren Verhaltensmodellen
1
A
Antwort
0
Sie sollten Vererbung verwenden. Schreiben Sie eine Basisklasse und überschreiben Sie die Basismethode, um sie an jeden untergeordneten Controller anzupassen.
2
Es hängt von Ihrem Wert von N (Optionen auf der ersten Ansicht Controller) und wie viel die voneinander unterscheiden.
Wenn N kleiner ist und sich voneinander unterscheiden, sollten Sie separate View-Controller für Ihren zweiten Bildschirm haben. Sie können Vererbung verwenden, wenn Unterschiede nicht viel sind.
Wenn N groß ist, sollten Sie Ihre N-Option kategorisieren und einen Controller für jede Kategorie haben, und Sie können enums/flags für die Anpassung in einer Kategorie verwenden.
Verwandte Themen
- 1. Swift: Ich möchte zu mehreren Viewcontroller
- 2. Steuern von mehreren untergeordneten ViewControllern über einen 'root' ViewController
- 3. So richten InputView mit Viewcontroller
- 4. Viewcontroller Hintergrundbild mit horizontaler Animation
- 5. Wie mehrere Viewcontroller statt anfänglichen Viewcontroller
- 6. Mit WCSession mit mehr als einem Viewcontroller
- 7. ViewController Übergangsbenachrichtigungen
- 8. ViewController überspringen
- 9. Zwei Übergänge von ViewController und ViewController in Navigation Controller
- 10. Segue zu einem ViewController von nicht-Storyboard ViewController
- 11. Control vars/IBOutlets von einem ViewController in einem anderen ViewController
- 12. Zurück zum root ViewController von viewController, der programmatisch verwendet wurde
- 13. UIImagePickerController push viewcontroller Bug mit losesEditing
- 14. Wie verbinde ich Storyboard mit viewcontroller
- 15. GroupTable in ViewController mit Swift 3
- 16. Präsentation von ViewController mit UserNotifications didReceive Antwort
- 17. Mit CATransition, um benutzerdefinierte Viewcontroller Übergangsanimation
- 18. wie uicollectionview auf einem Viewcontroller mit schnellen
- 19. Verbinden mit ViewController von AppDelegate (Swift)
- 20. Daten mit Guice in JavaFX ViewController einspeisen
- 21. anderen Viewcontroller entspannen ohne Storyboard mit
- 22. ViewController Constraints in UIScrollView, mit Storyboard
- 23. Swift: ViewController unterklassifizieren und mit Ziel hinzufügen?
- 24. ViewController mit .swift Datei in XCode verbinden
- 25. Reach ViewController Inside TabBarController
- 26. Aufbau von ViewController/UIViews
- 27. Schatten von ViewController entfernen
- 28. ViewController segue und login
- 29. Ändern instanziiert ViewController
- 30. viewController wird nicht aktualisiert