加载时间故事板控制器很长

时间:2013-07-18 08:36:41

标签: iphone objective-c uiview uiviewcontroller uistoryboardsegue

我在Storyboard中有非常复杂的UIViewController。这个UIViewController有UITableView,在单元格中有两个scrollview,另外两个是UIView,五个UIImageView和一些UILabels。 第一次当用户看到这个控制器时间约为5秒时,下一次非常快〜0.5秒。

滞后在生命周期控制器中的viewWillApper和viewDidApper之间。

如何优化此视图UIViewController?

1 个答案:

答案 0 :(得分:1)

好的,我发现了我的问题:

DTHTMLAttributedStringBuilder *stringBuilder = [[DTHTMLAttributedStringBuilder alloc] initWithHTML:data
                                                                                           options:builderOptions
                                                                                documentAttributes:nil];

NSAttributedString *attrString = [stringBuilder generatedAttributedString];

generatedAttributedString生成滞后。我通过Time Profiler发现了这个问题(感谢Fogmeister)。

所以我通过在初始化viewcontroller之前生成假内容来删除这个问题:

    NSString *html = @"<html>fake content</html>";
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *builderOptions = @{
                                 DTDefaultFontFamily: @"Helvetica",
                                 DTDefaultFontSize: @14
                                 };
DTHTMLAttributedStringBuilder *stringBuilder = [[DTHTMLAttributedStringBuilder alloc] initWithHTML:data
                                                                                           options:builderOptions
                                                                                documentAttributes:nil];



NSAttributedString *attrString = [stringBuilder generatedAttributedString];
Zlog(@"attrString %@", attrString);