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

関連する問題