相关疑难解决方法(0)

iOS崩溃报告"意外启动状态"异常?

我找到了几个崩溃报告的原因unexpected start state.我的代码看起来像这样:

NSRange range = [content rangeOfString:@"<html>"];

if (range.location != NSNotFound) {
    NSString *htmlStr = [content substringFromIndex:range.location];

    NSAttributedString *attStr = [[NSAttributedString alloc] initWithData:[htmlStr dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];

    return attStr.string;
}
Run Code Online (Sandbox Code Playgroud)

崩溃报告如下所示:

在此输入图像描述

crash nsexception ios nsmutableattributedstring

25
推荐指数
2
解决办法
4108
查看次数

如果不在主线程上,NSAttributedString initWithData和NSHTMLTextDocumentType会崩溃

调用

NSAttributedString * as = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} documentAttributes:nil error:nil];
Run Code Online (Sandbox Code Playgroud)

除主线程外,导致崩溃

1   0x194b861fc <redacted>
2   0x19801d31c <redacted>
3   0x198010eb4 _os_once
4   0x19801aa2c pthread_once
5   0x195a0858c <redacted>
6   0x195a07c78 WebKitInitialize
7   0x18bb38918 <redacted>
8   0x10020cdf0 _dispatch_client_callout
9   0x10020dcfc dispatch_once_f
10  0x1977f8bd0 <redacted>
11  0x1978009ac <redacted>
12  0x19780bdb8 <redacted>
13  0x1940b259c _NSReadAttributedStringFromURLOrData
14  0x1940b0eb4 <redacted>
15  0x1001041a0 -[MPMPostTextBrickCell attributedTextWithHTMLString:]
16  0x100103d3c __39-[MPMPostTextBrickCell setupWithBrick:]_block_invoke
17  0x187fb3508 <redacted>
18  0x187f04c94 <redacted>
19  0x187ef461c <redacted>
20  0x187fb626c <redacted>
21  0x10020cdf0 …
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch nsattributedstring nsoperationqueue ios

10
推荐指数
2
解决办法
7809
查看次数

NSAttributedString冻结UITableView

使用NSAttributedString滚动时应用程序确实冻结(当我使用NSString它工作正常),所以有我的方法:

- (void)setSubtitleForCell:(TTTableViewCell *)cell item:(TTPhotoPost *)item
{
    NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:
                                            [item.caption dataUsingEncoding:NSUnicodeStringEncoding]
                                                                            options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }
                                                                 documentAttributes:nil
                                                                              error:nil];

    [cell.descriptionLabel setAttributedText:attributedString];
}
Run Code Online (Sandbox Code Playgroud)

那里有什么错误吗?或某种方式使att.string更快?

objective-c uitableview nsattributedstring ios

4
推荐指数
1
解决办法
2791
查看次数