我的应用程序中有一个场景,我需要在UITableView
中显示超过1000行,每个单元格都有一个要显示的html字符串。
现在我使用了一种简单的方法来解析NSAttributedString
中的htmlString,但这种方法使得UITableView
滚动速度非常慢,并冻结了UITableView
几秒钟。
我还考虑过在使用UITableView
之前解析html字符串并将其存储在一些本地存储中,但因为它超过1000行而且将来可能会增加这种方法需要大量的是时候存储NSAttributedString
。
还有其他建议我可以在这个场景中使用吗?
我只在我的字符串中显示一些Bold和Color标记并排除其他标记吗?如果是这样,怎么样?
我应该使用UITextView
来简化事情吗?或者也许是UIWebView
?
请分享您的观点
我现在正在使用这种简单的方法我知道这不是标准方法。
以下是我的样本字符串
> <b>Working Towards: </b>The pupil can answer 9 when asked 'I have
> eaten 8 grapes and eat one more. How many have I
> eaten?'<br><br/><b>Meeting: </b>The pupil can answer 27 when asked 'I
> have 28 grapes and eat one of them. How many are
> left?'<br><br/><b>Exceeding: </b>The pupil can answer 27 when asked 'I
> have 29 grapes and eat two of them. How many are left?'
在我的CellForRowAtIndexPath
方法中:
NSString *tempObjectiveName = [NSString stringWithFormat:@"<font size=\"4\" color=#AAAAAA>%@</font>",currentObjective.name];
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[tempObjectiveName dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
lbl_description.attributedText = attrStr;