2015-07-23 6 views
6

Robiąc parsowania Mam konwersji danych HTML ciąg do tekstu przypisywanego strun za pomocą poniżej linii kodu,Bad krach dostęp podczas konwersji do NSMutableattributed ciąg

obj.strPlainText=[[NSMutableAttributedString alloc] initWithData:[obj.strContent dataUsingEncoding:NSUTF8StringEncoding]  
                  options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, 
                   NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)} 
               documentAttributes:nil 
                  error:nil]; 

ale moja aplikacja daje zły dostęp Otrzymuję błędu

[NSHTMLWebDelegate zachowują] wysyłanym do zwalniane przykład 0x7fa9fe027130

+0

Miałem również ten sam problem :( – Nayan

Odpowiedz

1

jeśli wypuszczamy strPlainText a także za pomocą łuku w projekcie to nie trzeba pisać uwolnił strPlainText

+0

Nie napisałem ani jednego kodu linii do wydania strPlaintext i mój projekt jest ARC. – Kalyani

1

Stosując ten rozwiąże problemu myślę: (jeżeli jest 7.0+)

NSError* error; 
NSMutableAttributedString* str = [[NSMutableAttributedString alloc] initWithData:[source dataUsingEncoding:NSUTF8StringEncoding] 
            options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, 
            NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]} 
            documentAttributes:nil error:&error]; 

trzeba ustawić str do obj.strPlainText jak obj.attributedString = str;

+0

nadal nie działa .. :( – Kalyani

2
[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} documentAttributes:nil error:nil]; 

Ale aplikacja ulegnie awarii, jeśli uruchomisz ją na ios 8.1,2 lub 3. Aby uniknąć awarii, możesz zrobić: uruchomić ją w kolejce. Aby zawsze był w głównym wątku.

Powiązane problemy