我需要从相对较大的HTML字符串创建NSAttributedString对象并将它们(NSAttributedString)存储在数据库中。当然,我希望在后台线程中完成此操作。
这是一个简单的代码示例(失败了),演示了我正在尝试做的事情:
根据这个讨论,可能根本无法在后台线程中完成,因为使用
但是也许其他人已经找到了方法?我有非常简单的HTML,只有文本和链接,也许有一种方式可以指定从HTML创建
或者也许有人可以推荐第三方库来从简单的HTML中创建
这是一个简单的代码示例(失败了),演示了我正在尝试做的事情:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *HTMLString = @"<p>HTML string</p>";
NSDictionary *options = @{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute : @(NSUTF8StringEncoding)};
NSError *error = nil;
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithData:[HTMLString dataUsingEncoding:NSUTF8StringEncoding] options:options documentAttributes:nil error:&error];
});
根据这个讨论,可能根本无法在后台线程中完成,因为使用
NSHTMLTextDocumentType
选项创建带有NSAttributedString
的WebKit
需要在执行任何异步工作时旋转运行循环。但是也许其他人已经找到了方法?我有非常简单的HTML,只有文本和链接,也许有一种方式可以指定从HTML创建
NSAttributedString
不需要任何"WebKit
-rendering"?或者也许有人可以推荐第三方库来从简单的HTML中创建
NSAttributedString
而不使用WebKit
?