Warum ist es so schlecht, wenn sich ein viewController selbst ablehnt?

8

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

    
Ahmad 03.07.2015, 10:50
quelle

1 Antwort

13

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

  1. Sie präsentieren es modal und Delegieren von Anrufen

    %Vor%
  2. Sie schieben es in den Navigationsstapel und delegieren Anrufe

    %Vor%
  3. Sie fügen es als untergeordnete VC hinzu und delegieren Aufrufe

    %Vor%

    oder ein anderer geeigneter Workflow, um es zu entfernen.

Modo Ltunzher 03.07.2015, 11:03
quelle

Tags und Links