NSMutableAttributedString initWithData: вызывает EXC_BAD_ACCESS при вращении

Я отображаю различные типы содержимого вtableview и рассчитать высоту каждой ячейки, используя различные пользовательские методы, дюймыheightForRowAtIndexPath

Один из этих пользовательских методов подразумевает преобразование некоторого HTML вNSMutableAttributedString, а затем рассчитать высоту этого.NSMutableAttributedString

Для преобразования HTML я использую новыйinitWithData: метод.

Все работает отлично, за исключением случаев, когда я поворачиваю экран => Я 'у нас есть exc_bad_access каждый раз.

Используя инструменты / зомби, яудалось найти ошибку, и на самом деле это 'с этим.initWithData:

(Когда я удаляю этот метод и создаюпросто" NSMutableAttributedString сinitWithStringЯ могу менять ориентацию столько раз, сколько захочу, нетcrash больше).

Есть идеи почему?

(Кстати, мой проект использует ARC)

Скриншот инструмента / зомби:

Пользовательский метод вызывается: <heightForRowAtIndexPath

 UtilitiesForFrontEndUI:>heightForFacebookAttributedText

+(CGFloat)heightForFacebookAttributedText:(NSString *)attributedText withWidth:(CGFloat)width
{
    NSAttributedString *formatedText = [self formatRawFacebookContentForFrontEndRichTextContents:attributedText];
    CGRect rect= [formatedText boundingRectWithSize:CGSizeMake(width, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
    return ceilf(rect.size.height);
}

Пользовательский метод, использующий initWithData для HTML дляNSMutableAttributedString преобразование: <

 UtilitiesForFrontEndUIformatRawFacebookContentForFrontEndRichTextContents: >

+(NSAttributedString *)formatRawFacebookContentForFrontEndRichTextContents:(NSString *)stringToFormat
{
    // THIS GENERATE EXC_BAD_ACCESS ON DEVICE ROTATION (WORKS IF NO ROTATION)
    NSData *dataContent = [stringToFormat dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableAttributedString *richTxtContent = [[NSMutableAttributedString alloc] initWithData:dataContent options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]} documentAttributes:nil error:nil];

    NSRange myRange;
    myRange.location = 0;
    myRange.length = richTxtContent.length;

    [richTxtContent addAttributes:[self commonAttributesForFrontEndRichText] range:myRange];

    return richTxtContent;
}

Если я заменю initWithData на простой initWithString, то больше не будет exc_bad_access

+(NSAttributedString *)formatRawFacebookContentForFrontEndRichTextContents:(NSString *)stringToFormat
{   
    // THIS WORKS (NO MORE ROTATION CRASH)
    NSMutableAttributedString *richTxtContent = [[NSMutableAttributedString alloc]initWithString:stringToFormat];

    NSRange myRange;
    myRange.location = 0;
    myRange.length = richTxtContent.length;

    [richTxtContent addAttributes:[self commonAttributesForFrontEndRichText] range:myRange];

    return richTxtContent;
}

Ответы на вопрос(1)

Ваш ответ на вопрос