2011-11-14 73 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

相關問題