2009-09-22 7 views
0

En apprenant Objective-C, je me suis retrouvé dans une situation où je devais ajouter deux objets différents (l'un héritant de l'autre) à un tableau. Bien que cela fonctionne, je n'étais pas sûr à 100% que c'était une bonne pratique.Type de tableau à plusieurs objets?

@interface TireBasic : NSObject { 
} 
@end 

@interface TireSnow : TireBasic { 
} 
@end 

// To this array? 
TireBasic *tires[4]; 

acclamations -Gary-

+0

Pourquoi ne pas utiliser NSArray? – pix0r

+1

Parce que NSArray n'est pas toujours la meilleure solution? Dans de nombreux cas, il s'agit d'un meilleur choix, mais il n'y a rien de mal à utiliser des réseaux C simples lorsque l'efficacité et la rapidité sont importantes. –

+0

Merci, je vais jeter un oeil à l'utilisation de NSArray demain. – fuzzygoat

Répondre

1

semble bon. Une autre option consisterait à utiliser le type id.

+0

J'ai essayé rapidement d'utiliser le type d'identifiant plus tôt mais j'ai été mélangé quelque part. Comme je le disais, je ferai un plus petit programme testBed demain pour le faire fonctionner de manière isolée. – fuzzygoat

1

Il n'y a rien de mal à cela. Polymorphisme de base au travail ici.

0

Les tableaux ne sont pas typés en Objective-C, donc vous pouvez avoir n'importe quel type d'objet en tant qu'élément de tableau. Quant à savoir si c'est une bonne pratique ou non, cela dépend entièrement de la façon dont votre planification sur l'utilisation du tableau

0

Je ne vois pas pourquoi NSArray n'a pas pu être utilisé ici. NSArray peut contenir plusieurs types d'objets.

+0

Salut Jasconius, le tableau plainC était juste là où je me suis retrouvé avec mon petit test. Je ferai comme vous et quelques autres ont suggéré jeter un oeil à NSArray et id. Merci beaucoup ... – fuzzygoat

+0

Un 'NSArray' peut souvent être un surdébit inutile, surtout quand vos tableaux sont aussi petits que 4 éléments. Il fournit des fonctionnalités astucieuses pour l'énumération et la vérification des valeurs, mais si elles ne sont pas nécessaires, un tableau C simple suffit souvent. – dreamlax

Questions connexes