我有一个滚动视图,其中包含大约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]; }我的问题是,加载速度非常慢。 我该怎么做才能更快?
I have a scroll view, which contains about 40-50 objects of different types. The object's types are defined in function of the object's location (for ex. if is the 5th object in the scroll view-> is's Object1, if it is the 11th object in the scroll view -> it's Object2 type etc.). With a for I am verifying each element of an array, and then putting them into the scroll view, with this method:
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]; }My problem is, that it loads very slowly. What can I do to make it quicker?
最满意答案
如果您正在为IOS4 +编程,则可以使用UINib类。 它将加载缓存的对象并在每次需要时创建一个副本。 看到这篇博文 。
If you are programming for IOS4+, you can use the UINib class instead. It will load a cached objects and create a copy each time needed. See this blog post.
更多推荐
发布评论