2016-05-04 6 views
-1

Der folgende Code stürzt kontinuierlich auf iOS ab. Bitte helfen Sie mir, die genaue Ursache für diese Fehler herauszufinden.iOS crash @ NSMutableAttributedString

@try {      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ 
       NSMutableAttributedString *attributedString =[[NSMutableAttributedString alloc]initWithData:[attrString dataUsingEncoding:NSUTF8StringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding) } documentAttributes:nil error:nil]; 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        //Any UI updates 
        [self.attributedLabel setAttributedText:attributedString]; 
       }); 
      }); 
    } 
    @catch (NSException *exception) { 
     DLog(@"Trace exception : %@",exception.description); 
    } 
    @finally { 
    } 

Und bekam die folgende Meldung von Xcode Veranstalter:

enter image description here

+0

Anstatt try/catch in Ziel c zu verwenden, sollten Sie einen NSError-Verweis auf den Fehlerparameter angeben und prüfen, ob der Fehler nicht null ist. – Paulw11

+0

Wie funktioniert es mit GCD? – trojanfoe

Antwort

3

den HTML-Importeur (NSHTMLTextDocumentType) Verwendung ist nur möglich, auf der Haupt-Thread.

NSAttributedString hat WebKit für alle Import (aber nicht für den Export) von HTML-Dokumenten verwendet. Da WebKit Dokument Laden nicht sicher ist, fädelt, dies nicht gewesen ist sicher auf dem Hintergrund zu verwenden, fädelt

Der HTML-Importeur soll nicht von einem Hintergrund-Thread aufgerufen werden (die ist, enthält die Optionen Wörterbuch NSDocumentTypeDocumentAttribute mit einem Wert von NSHTMLTextDocumentType).

(Quelle: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/AttributedStrings/Tasks/CreatingAttributedStrings.html)

So versuchen, den Code in Hauptwarteschlange statt globale Warteschlange ausgeführt wird.

Hoffe, das hilft.

+0

Hat mir auf jeden Fall geholfen, einen seltsamen Absturz zu erkennen, der WebKit und zugeschriebene Zeichenfolgen in einem völlig unabhängigen Zusammenhang hatte. – KoCMoHaBTa

Verwandte Themen