Obj-C : NSArray or plain C-Array ?


28 octobre 2012

Le débat est permanent entre l'utilisation de NSArray et l'utilisation de id* MonTableau pour stocker des objets ne serait-ce que pour des problèmes de performances mais également pour des questions d'écriture (Encore que la notation littérale des NSArray améliore l'apparence des sources). Ainsi, le code suivant devrait (?) être plus rapide qu'avec des NSArray :

for (int i=0; i<10; i++) {
    things[i] = [[Thing alloc] init];
}

//And then later in the code doing something like:

for (UITouch *touch in touches) {
    for (int i=0; i<10; i++) {
        if ([things[i] containsTouch:touch]) { 
            // thing was touched
        }
    }
}

Mais un post de Remy Desmarest sur la mailing-list Objective-C contient des informations très intéressantes sur le fait que ARC peut être utilisé avec des tableaux C. Ainsi même la nouvelle notation littérale des tableaux NSArray ne pousse pas les tableaux C dans les oubliettes.

Accueil