Pregunta

Me gusta la conveniencia de NSMutableArray, pero a veces solo necesita desplegarse en buenos arreglos en C ole. Como cuando está alimentando matrices de vértices intercaladas a OpenGL.

¿Cuál es la forma más rápida de copiar el contenido de un NSMutableArray a una matriz en C?

Sí, me doy cuenta de que este poco de barajado introduce ineficiencia, pero me gustaría ver si puedo escabullirme con este enfoque sin tener un impacto en la velocidad de fotogramas.

Saludos, Doug

¿Fue útil?

Solución

de la lista de correo de cocoabuilder

id *buffer = malloc(numberOf_ItemsIWant_ToFetch * sizeof(id));
[myArray getObjects:buffer range:rangeOfItems]

Otros consejos

Ver - [NSArray getObjects:] . Simplemente dele un búfer del tamaño apropiado y NSArray llenará el búfer con su contenido. NSMutableArray es una subclase de NSArray, por lo que responde a todos los mismos métodos.

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

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

O algo similar. No veo ninguna manera fácil de hacer esto en los documentos de Apple.

int i=0;
foreach(YourClass *obj in array)
{
   carray[i++] = [obj yourMethodToConvertToCType];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top