Devolviendo matriz flotante en Objectiv C

Me gustaría saber cómo devolver la matriz flotante en los methods.

En methods como:

- (float *) ......{ float * result = malloc(sizeof(float) * number); .... return result; } 

Mi problema es que no limpié el set de flotadores de resultados. Cómo puedo hacer eso.

Mi problema es que no limpié el set de flotadores de resultados.

Ese es el trabajo de quien invoca tu método que devuelve la matriz flotante: ahora es el propietario, por lo que debe llamar free .

En general, hay dos situaciones:

  • Utiliza la matriz dentro de otro método o una function sin almacenarla . En este caso, identifica el punto en tu método o una function en la que la matriz ya no es necesaria, y invoca free() pasándole la matriz.
  • Almacena la matriz como una variable de instancia en uno de tus objects : en este caso, agrega un método dealloc a tu class y llama free() a la variable de la matriz desde allí.

Apple tiene una convención de nombres de methods que describe cómo puedes hacerlo. En su caso, debe comenzar su método con el prefijo de create y limpiar la memory asignada cuando ya no la necesite:

 float* CreatePointsArray() { float* result = malloc(sizeof(float) * number); .... return result; } ... points = CreatePointsArray(); ... free(points); 

ver mas aqui
Será mejor ponerlo en NSArray estándar. Pero, si hace esto, es mejor hacer la function en lugar de la class de método.