iOS: isMovingToParentViewController funktioniert nicht wie erwartet

9

Mein Setup ist einfach und mein Problem unterscheidet sich nicht sehr von dieser . Um es jedoch besser zu erklären, habe ich es hier gepostet:

%Vor%

VC1 ist der Root-View-Controller von NavController. VC2 ist über den Push-Übergang von VC1 zugänglich.

Ich möchte in VC1 feststellen, ob:

Es erschien direkt als Root-View-Controller (über Push) Es erschien als ein Ergebnis von VC2 gepoppt

Ich lese die Dokumente, die folgendes sagen, sollte mir sagen, ob später wahr ist.

%Vor%

Das ist jedoch nicht der Fall und die obige Bedingung stellt sich IMMER als WAHR heraus. Das bedeutet, dass (self.isMovingToParentViewController == NO) immer passiert.

Hier ist mein Code:

%Vor%

Dasselbe gilt für viewDidAppear.

Für eine Frage der Tatsache, ich setze Haltepunkt am Anfang, und überprüft, dass alle folgenden sind in beiden Fällen FALSE:

%Vor%

Was passiert? Gibt es irgendetwas, das ich in meinem Storyboard verpatzt habe? Bitte helfen ...

    
Nirav Bhatt 24.04.2014, 15:10
quelle

3 Antworten

12

Leider ist isMovingToParentViewController für den root-View-Controller nicht wahr, daher behandle ich diese Situation normalerweise mit einem BOOL,

%Vor%     
rdelmar 24.04.2014, 15:36
quelle
3

Da isMovingToParentViewController nur dann gesetzt wird, wenn ein viewController an den Navigations-Stack gesendet wird und nicht für den ursprünglichen rootViewController, würde ich Folgendes vorschlagen:

%Vor%     
David Berry 24.04.2014 15:33
quelle
3

Eine einfache Lösung ist das Hinzufügen eines Flags auf viewWillDisappear , das auf YES gesetzt wird, wenn der VC1 verschwunden ist. Sonst war die Ansicht nie verschwunden, also ist es der erste Push ( RootViewController von Navigation Controller ).

Beispielcode

%Vor%     
EridB 24.04.2014 15:35
quelle
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '341962',
    'url' => 'ios-ismovingtoparentviewcontroller-is-not-working-as-expected',
];

$_SESSION = [
    '__flash' => [],
];