4

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

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

4

1 回答 1

4

如果您正在为 IOS4+ 编程,则可以改用UINib类。它将加载缓存的对象并在每次需要时创建一个副本。请参阅此博客文章

于 2011-11-14T14:57:23.687 回答