2011-12-15 5 views
1

J'ai le code ci-dessous dans mon application qui mallocs mémoire à un objet struct. Cette méthode est appelée plusieurs fois dans le code, chaque fois que l'on met en mémoire de la mémoire pour un nouvel objet Vector3D. Ce que je veux faire est de capturer le pointeur vers l'objet ShapeClass mallocé (une structure C) afin que je puisse libérer plus tard chaque objet dans ma méthode dealloc.Stocker des pointeurs vers une structure dans un tableau? iPhone

Quelqu'un peut-il me conseiller comment ajouter le pointeur à un tableau?

Merci.

vectorCount = [floatArray.array count]/3; 
     ShapeClass *vectorArray = malloc(sizeof(Vector3D) * vectorCount); 
     for (int i=0; i<vectorCount; i++) { 
      vectorArray[i].x = [[floatArray.array objectAtIndex:(i*3)] floatValue]; 
      vectorArray[i].y = [[floatArray.array objectAtIndex:(i*3)+1] floatValue]; 
      vectorArray[i].z = [[floatArray.array objectAtIndex:(i*3)+2] floatValue]; 
     } 
     return vectorArray; 
// I WANT TO INSERT SOMETHING HERE TO CAPTURE THE POINTER TO vectorArray - E.G ADD IT TO AN ARRAY ? 
    } 
} 
return NULL; 
} 

Répondre

1

Utilisez [NSValue valueWithPointer:] pour le stocker dans les classes de conteneur.

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; 
SomeObject *object = [[SomeObject alloc] init]; 

//Store the pointer to object 
[dictionary setValue:[NSValue valueWithPointer:object] forKey:@"object"]; 
Questions connexes