objective-c - loadNibNamed 方法太慢 - 如何让它更快?

标签 objective-c uiscrollview nib loadnibnamed

我有一个 ScrollView ,其中包含大约 40-50 个不同类型的对象。对象的类型根据对象的位置定义(例如,如果是 ScrollView 中的第 5 个对象 -> 是 Object1,如果它是 ScrollView 中的第 11 个对象 -> 它是 Object2 类型等)。 对于 for 我正在验证数组的每个元素,然后使用此方法将它们放入 ScrollView 中:

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];
}

我的问题是,加载速度非常慢。我该怎么做才能让它更快?

最佳答案

如果您正在为 IOS4+ 编程,您可以使用 UINib类代替。它将加载缓存对象并在每次需要时创建一个副本。参见 this blog post .

关于objective-c - loadNibNamed 方法太慢 - 如何让它更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123311/

相关文章:

ios - 无法在包 : 'NSBundle ERROR 中加载 NIB

ios - 更新的 iOS 二进制文件未更新 MainView NIB

ios - XMPP IOS Openfire 在发送元素后断开连接

objective-c - NSArray 不接受 NSNumber

c# - 单点触控中的 UIScrollView Hittest 功能

ios - 以编程方式添加内容后调整 uiscrollview 的大小

iphone - 在 iPhone 中使用 asmx 网络服务

ios - NSUTF8StringEncoding 给了我这个 %0A%20%20%20%20%22http ://example. com/example.jpg%22%0A

ios - 制作所有 UIScrollView 内容的快照

uiview - 为 StoryBoard 中 ViewController 中使用的 UIView 加载 Nib