loadNibNamed 方法太慢 - 如何让它更快?

Posted

技术标签:

【中文标题】loadNibNamed 方法太慢 - 如何让它更快?【英文标题】:loadNibName method is too slow - how to make it quicker? 【发布时间】:2011-11-14 14:49:29 【问题描述】:

我有一个滚动视图,其中包含大约 40-50 个不同类型的对象。对象的类型是在对象位置的函数中定义的(例如,如果是滚动视图中的第 5 个对象-> 是 Object1,如果它是滚动视图中的第 11 个对象-> 它是 Object2 类型等)。 使用 for 我正在验证数组的每个元素,然后使用以下方法将它们放入滚动视图中:

for (int i = 0; i < [myArray count]; i++)

 if (i < 10)
        NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"Class1" owner:nil options:nil];
        for (NSObject *obj in xib)
            if ([obj isKindOfClass:[Class1 class]])
                classObject = (Class1 *)obj;
                break;
            
        
  else if (i > 10 && i < 20)
        NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"Class2" owner:nil options:nil];
        for (NSObject *obj in xib)
            if ([obj isKindOfClass:[Class2 class]])
                classObject = (Class2 *)obj;
                break;
            
        
      
[scrollview addSubview:classObject];

我的问题是,它加载非常缓慢。我该怎么做才能让它更快?

【问题讨论】:

【参考方案1】:

如果您正在为 ios4+ 编程,则可以改用 UINib 类。它将加载缓存的对象并在每次需要时创建一个副本。见this blog post。

【讨论】:

以上是关于loadNibNamed 方法太慢 - 如何让它更快?的主要内容,如果未能解决你的问题,请参考以下文章

PHP太慢了,有人能找到让它更快的方法吗?

Flask | 简单封装那个request,让它更通用

目标 C:loadNibNamed 方法:它是如何工作的?

怎么更改电脑上的鼠标箭头,让它更可爱?

请简化我的代码或让它更高级 Python 程序员

使用方法[NSBundle loadNibNamed:xibName owner:[NSApplication sharedApplication]]加载Nib时如何传递参数?