2011-11-14 30 views
4

我有一个滚动视图,其中包含约40-50个不同类型的对象。对象的类型是根据对象位置的函数定义的(例如,如果是滚动视图中的第5个对象 - >是Object1,如果它是滚动视图中的第11个对象 - >它是Object2类型等)。 凭借对我验证数组中的每个元素,然后将它们放入滚动视图,用这种方法:loadNibName方法太慢 - 如何让它更快?

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]; 
} 

我的问题是,它加载速度非常缓慢。我能做些什么来加快速度?

回答

4

如果您正在为IOS4 +编程,则可以使用UINib类。它会加载一个缓存对象并在每次需要时创建一个副本。请参阅this blog post

+0

谢谢,它的工作原理:D – MMMM

相关问题