Ich habe diese Hierarchie - UIViewController - & gt; ChildUIViewController - & gt; WKWebView.
Ich hatte ein Problem mit dem WKWebView-Meldungshandler, der durchsickerte und verhinderte, dass der Kindsicht-Controller freigegeben wurde.
Nach einigem Lesen habe ich einen Weg gefunden, den Retain-Zyklus mit diesem Fix zu beheben - WKWebView führt dazu, dass mein View-Controller ausläuft
Jetzt kann ich sehen, dass der Child-View-Controller deinit
erreicht, aber direkt danach stürzt der WKWebView auf deinit
ab (Kein nützliches Log von Xcode).
Irgendeine Idee oder Richtung, was könnte das Problem sein?
Danke
UPDATE Hier ist mein Code - Code Gist
Vergessen Sie nicht, WKWebView-Delegierte zu entfernen, die Sie hinzugefügt haben:
%Vor%Sieht so aus, als ob WKWebView den Zeiger __unsafe_unretained auf Ihren Delegaten speichert. Manchmal, wenn die Webansicht nicht sofort nach der Freigabe des View-Controllers freigegeben wurde. Dies führt zum Absturz, wenn die Webansicht versucht, den Delegierten etwas mitzuteilen.
Ich habe es auf die gleiche Weise versucht, wie du es erwähnt hast. Es funktioniert perfekt für mich. Code, den ich ausprobiert habe, ist
%Vor%Log nach dem Aufrufen von ViewController ist:
%Vor%AKTUALISIEREN
Legen Sie die Zeilen in der viewWillDisappear-Funktion Ihres WebViewViewControllers fest.
%Vor%Ich habe versucht, indem ich diese beiden Delegierten in meinen Code einfügte, und es stürzte ab. Gelöst, indem oberhalb der Linien in ViewWillDisappear von ChildViewController gesetzt.