Ich habe zwei View-Controller, MainVC
und ModalVC
.
Wenn der Benutzer eine Schaltfläche auf MainVC
antippt, wird der Modal View-Controller angezeigt.
Der Benutzer kann dann auf eine andere Schaltfläche tippen, um sie zu schließen und zum Hauptbildschirm zurückzukehren.
Ich habe diese beiden Methoden ausprobiert und beide erreichen das gleiche: sie verwerfen den Modal-View-Controller:
%Vor%Das funktioniert gut, wie ich schon sagte, aber bedenken Sie die andere Methode: Delegierung verwenden, um dem Hauptcontroller das Ablehnen zu überlassen:
%Vor%und in der benutzerdefinierten Klassendatei des Hauptansicht-Controllers:
%Vor%Da diese beiden Methoden das Notwendige tun, sollte ich mir Gedanken über mögliche Speicherverluste machen?
Jede Erklärung würde helfen
Die Verwendung der Delegierung ist die beste und flexiblere Methode zum Verwerfen des View-Controllers.
Der Zweck davon ist, dass Sie diesen VC in irgendeiner zukünftigen oder an anderer Stelle in Ihrem Code wiederverwenden können, aber aus irgendwelchen Gründen können Sie ihn nicht modal präsentieren, sondern in den Navigationsstapel einschieben. Dein ModalVC
weiß also nicht, wie es dargestellt wurde, aber delegate tut das.
In diesem Fall können Sie 2 Stellen in Ihrem Code haben
Sie präsentieren es modal und Delegieren von Anrufen
%Vor%Sie schieben es in den Navigationsstapel und delegieren Anrufe
%Vor%Sie fügen es als untergeordnete VC hinzu und delegieren Aufrufe
%Vor%oder ein anderer geeigneter Workflow, um es zu entfernen.
Tags und Links ios swift uiviewcontroller