l método @loadNibName es demasiado lento: ¿cómo hacerlo más rápido?

Tengo una vista de desplazamiento, que contiene alrededor de 40-50 objetos de diferentes tipos. Los tipos de objeto se definen en función de la ubicación del objeto (por ejemplo, si es el quinto objeto en la vista de desplazamiento-> es el Objeto1, si es el undécimo objeto en la vista de desplazamiento -> es el tipo de Objeto2, etc.). Con un for, estoy verificando cada elemento de una matriz y luego poniéndolos en la vista de desplazamiento, con este método:

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

Mi problema es que se carga muy lentamente. ¿Qué puedo hacer para hacerlo más rápido?

Respuestas a la pregunta(1)

Su respuesta a la pregunta