Alarmmeldung von viewDidLoad anzeigen

8

Ich möchte eine Warnmeldung von viewDidLoad() method von ViewController.m anstelle von viewDidAppear() method anzeigen.

Hier ist mein Code:

%Vor%

und ich erhalte diesen Fehler:

  

Warnung: Versuch, <UIAlertController: 0x7fbc58448960> auf <ViewController: 0x7fbc585a09d0> darzustellen, deren Ansicht nicht in der Fensterhierarchie enthalten ist!

    
Shivani Arorra 09.01.2016, 10:10
quelle

4 Antworten

13

OK, kein Fehler, das Problem ist, dass in viewDidLoad die Ansichtshierarchie nicht vollständig festgelegt ist. Wenn Sie viewDidAppear verwenden, wird die Hierarchie festgelegt.

Wenn Sie diese Warnung wirklich in viewDidLoad aufrufen möchten, können Sie dies tun, indem Sie Ihren Präsentationsaufruf in diesen GCD-Block einfügen, um eine leichte Verzögerung zu verursachen. Warten Sie auf die nächste Ausführungsschleife. es ist hässlich).

%Vor%     
Woodstock 09.01.2016, 10:29
quelle
8

um diesen Aufruf in die viewDidAppear: Methode zu verschieben.

    
Akash 09.01.2016 10:28
quelle
0

Sie müssen einen Navigationscontroller einbetten und den Controller präsentieren

%Vor%

ODER

%Vor%     
Mayank Patel 09.01.2016 10:23
quelle
-1

Swift 3 iOS 10, ich habe die Operationswarteschlange verwendet, um den Codeblock zu platzieren, der die Benutzeroberfläche auf den Hauptthread aktualisiert.

%Vor%

Kurz gesagt, wir verwenden Async. Dadurch kann die Warnmeldung wie erwartet angezeigt werden (auch wenn wir in viewDidLoad () sind).

    
coarist 14.11.2016 00:43
quelle

Tags und Links