UIWebView, laden abbrechen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • UIWebView, laden abbrechen

    Moin,

    so, ich habe hier einen ViewController, der nur einen einzigen Subview hat, einen UIWebView. Der ViewController wird in einen NavigationController gehängt und sobald er sichtbar wird fängt er an, zu laden. Soweit unproblematisch.

    Wenn man allerdings zurückgeht während der Webview noch lädt, fliegt mir das ganze um die Ohren.

    Also habe ich Folgendes gemacht im ViewController:

    Quellcode

    1. - (void)viewWillDisappear:(BOOL)animated
    2. {
    3. [webView stopLoading];
    4. webView.delegate = nil;
    5. [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
    6. }


    Und trotzdem fliegt mir das nach einer Weile um die Ohren:

    Quellcode

    1. #0 0x300c8c18 in objc_msgSend ()
    2. #1 0x30bdc280 in -[UIWebView webView:didFinishLoadForFrame:] ()
    3. #2 0x3026d6e4 in __invoking___ ()
    4. #3 0x3026d58e in -[NSInvocation invoke] ()
    5. #4 0x32b31fe0 in HandleDelegateSource ()
    6. #5 0x30269aca in CFRunLoopRunSpecific ()
    7. #6 0x30269366 in CFRunLoopRunInMode ()
    8. #7 0x315506c4 in GSEventRunModal ()
    9. #8 0x30a564e4 in -[UIApplication _run] ()
    10. #9 0x30a5fadc in UIApplicationMain ()
    11. #10 0x00002096 in main (argc=1, argv=0x2ffff568) at
    Alles anzeigen


    Jemand ne Ahnung, woran das liegen kann? Das ist doch ne Delegate-Kiste und der ist nil. (Und der Delegate selber ist optional)
    if (!exit(-1)) fprintf(stderr, "exit call failed. Program will continue\n");
  • RE: UIWebView, laden abbrechen

    Ohne direkten Bezug hierzu aber als Möglichkeit:

    Ich habe schon gesehen, dass bei einem delegate=nil sich der Delegierer selbst als Delegate setzt. Dann wäre das einfach ein Dangling-Pointer, wenn das nicht sauber aufgeräumt wird.

    Setze doch mal testweise ein leeres Delegate mit unendlicher Lebensdauer.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?