loadNibName方法太慢-如何使它更快



我有一个滚动视图,其中包含大约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];
}

我的问题是,它加载非常慢。我怎么做才能快一点呢?

如果你是为IOS4+编程,你可以使用UINib类代替。它将加载一个缓存对象,并在每次需要时创建一个副本。

相关内容

  • 没有找到相关文章

最新更新