Ich würde gerne einen Test von 20 Fragen in Swift implementieren, der gleiche viewcontroller sollte jedes Mal wiederholt werden, die nächste Taste gedrückt wird, bis die letzte Frage, aber dies schafft eine Warteschlange von Viewcontrollern sollte dies nicht passieren. Ich las und das NSCopying-Protokoll konnte mir helfen, aber ich kann nicht vollständig verstehen, auf welche Weise. Jemand könnte mir erklären oder geben Sie ein Beispiel für die richtige Art der Verwendung von NSCopying-Protokoll zu diesem FallNSCopying Protokoll Swift
Antwort
In iOS wird jeder "Bildschirm" normalerweise durch einen einzelnen ViewController dargestellt, der seine Ansicht anpassen und die Interaktion mit dem Benutzer handhaben kann.
NSCopying wird verwendet, um Kopien von Objekten zu machen, aber es ist wahrscheinlich nicht das, was Sie brauchen hier, da es die gleiche Steuerung sein sollte, alle Fragen der Handhabung
In Ihrem Fall sollten Sie uns ein QuestionsViewController haben wir sagen, mit wahrscheinlich ein „next Taste".
class QuestionsViewController: UIViewController {}
Dann verknüpfen Sie die touchUpInside Aktion Ihrer Taste auf eine IBAction Methode (wenn Sie Interface Builder verwenden für Ihre Ansicht Gebäude) in QuestionsViewController und die Ansicht aktualisieren, um die Frage Etikett zu ändern und das Antwortfeld zurückgesetzt (s
)@IBAction func nextQuestion(sender: UIButton) {
// Update the view...
}
Alternativ könnten Sie eine UIpageViewController/UITableView/UIcollectionView verwenden, wo jede Frage
andere Ansicht/ZelleSie können einen Blick haben würde bei Thesen Tutorials:
Anstatt Erstellen von verschiedenen Viewcontroller für jede Frage, können Sie einzelne Viewcontroller verwenden und beim nächsten Wechsel der Frage.Sie können UIView Animation für von einer Frage zur anderen wechseln.
- 1. NSCopying Protokoll funktioniert nicht
- 2. Implementierung von NSCopying
- 3. Wann wird NSCopying benötigt?
- 4. Mit Protokoll in Swift
- 5. eigenes Protokoll Swift
- 6. Swift: Protokoll Standardimplementierung - didSet
- 7. Swift-Protokoll funktioniert nicht
- 8. OptionSetType Protokoll Swift
- 9. Swift Subklasse versus Protokoll
- 10. Swift Protokoll Erbe
- 11. Swift-Protokoll in Framework
- 12. Swift Delegierte und Protokoll
- 13. Wie kann ich NSCopying anpassen und copyWithZone in Swift 2 implementieren?
- 14. ObjC Protokoll Implementierung in Swift
- 15. Konnte MKAnnotation Protokoll in Swift
- 16. Swift-Protokoll-Deklaration: Argument Labels?
- 17. Swift 2.2 Array entspricht Protokoll
- 18. Swift Protokoll-Erweiterungen mit Aufzählungen
- 19. Swift-Protokoll als generische Typ
- 20. Swift: Typ nicht entspricht Protokoll
- 21. swift - NSC Copying Klasse
- 22. Swift: Protokoll vs. Struktur vs. Klasse
- 23. Swift Allgemeine Klasse eine Objective-C-Protokoll
- 24. Optionale Methoden im Swift-Protokoll und Überlastung
- 25. Swift-Protokoll auf Klasseninstanz wird nie ausgelöst
- 26. 'ViewController' entspricht nicht dem Protokoll 'UITableViewDataSource' swift
- 27. Swift: Entspricht nicht dem Protokoll NSCoding
- 28. swift 2.0 - UITextFieldDelegate Protokoll-Erweiterung funktioniert nicht
- 29. Swift 2: @objc Protokoll und ENUM Array
- 30. Swift assoziierten Arten und Protokoll Vererbung
Sie wollen nicht 'NSCopying' für diesen Einsatz. Wenn Sie nicht für jede Frage einen neuen View-Controller hinzufügen möchten, ändern Sie einfach die Ansicht des View-Controllers der aktuellen Frage, um die nächste Frage anzuzeigen. – dan
Was hat das 'NSCopying'-Protokoll damit zu tun, zu viele View-Controller zu schieben? – rmaddy