loadNibName method is too slow - how to make it quicker?(loadNibName 方法太慢 - 如何让它更快?)
问题描述
我有一个滚动视图,其中包含大约 40-50 个不同类型的对象.对象的类型是在对象位置的函数中定义的(例如,如果是滚动视图中的第 5 个对象-> 是 Object1,如果它是滚动视图中的第 11 个对象-> 它是 Object2 类型等).使用 for 我正在验证数组的每个元素,然后使用以下方法将它们放入滚动视图中:
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.
这篇关于loadNibName 方法太慢 - 如何让它更快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:loadNibName 方法太慢 - 如何让它更快?


基础教程推荐
- iOS4 创建后台定时器 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01