2009-06-18 8 views
2

J'aime la commodité de NSMutableArray, mais parfois vous avez juste besoin de descendre dans de bonnes tables C-array. Comme lorsque vous alimentez des tableaux de vertex entrelacés vers OpenGL.NSMutableArray. Quel est le moyen le plus rapide pour le convertir en un tableau C simple?

Quel est le moyen le plus rapide de copier le contenu d'un NSMutableArray vers un C-array?

Yah, je me rends compte que ce mélange de bits introduit de l'inefficacité, mais j'aimerais voir si je peux me faufiler dans cette approche sans prendre un coup dans la fréquence d'images.

Cheers, Doug

Répondre

1
NSMutableArray *arrayOfThings; 
Element elements[arrayOfThings.count+1]; 

for (int i=0;i<arrayOfThings.count;i++) 
{ 
    elements[i] = [arrayOfThings objectAtIndex:i]; 
} 

ou quelque chose de similaire. Je ne vois pas de moyen facile de le faire dans les docs Apple.

6

Voir -[NSArray getObjects:]. Donnez-lui simplement un tampon de la taille appropriée et NSArray remplira le tampon avec son contenu. NSMutableArray est une sous-classe de NSArray, donc il répond à toutes les mêmes méthodes.

1
int i=0; 
foreach(YourClass *obj in array) 
{ 
    carray[i++] = [obj yourMethodToConvertToCType]; 
} 
+0

Merci pour toute la bande de réponses. Super rapide. Super utile. – dugla

Questions connexes