Je développe sur l'iPhone et il me manque quelque chose sur le stockage des objets dans un NSMutableArray - qu'est-ce que je fais mal et comment dois-je aborder cela?Problème de stockage des objets dans NSMutableArray
Les sections pertinentes de ce code sont
je un objet, une entité, définie qui hérite directement de NSObject. Dans ma classe GLView Je souhaite définir un tableau de ces - si GLView.h
@interface GLView : UIView
{
BOOL controllerSetup;
// Entity etc - first development task it to get one up
NSMutableArray *arrEntities;
}
@property(nonatomic, assign) NSMutableArray *arrEntities;
et dans le corps dans la fonction drawView - qui est appelée plusieurs fois par un événement de minuterie - j'allouer le tableau et, pour développement initial, un seul objet entité et l'ajouter au tableau
- (void)drawView
{
if(!controllerSetup) { // initialize on first call
[controller setupView:self];
controllerSetup = YES;
arrEntities = [NSMutableArray array];
Entity* thisEntity = [[Entity alloc] initEntity];
[arrEntities addObject:thisEntity];
}
Entity *entity = [arrEntities objectAtIndex:0];
[entity tickEntity:0.1];
}
Je crois comprendre que le premier appel de drawView
le NSMutableArray serait mis en place et l'instance de l'entité ajoutée, puis dans le corps du un pointeur vers la première copie de l'entité stockée dans le tableau récupéré et manipulé (évidemment, j'ai l'intention d'en ajouter d'autres et de les boucler l ater).
Cependant, ce qui se passe au premier appel de la procédure tout fonctionne bien, le objectAtIndex
récupère le pointeur d'entité et tous les travaux. Cependant sur le deuxième appel lorsque controllerSetup
est vrai et la clause d'initialisation non exécutée arrEntities
est vide et le programme se bloque lorsque objectAtIndex
récupère zéro.
Alors qu'est-ce que je fais mal? Pourquoi mon objet Entity stocké ne persiste-t-il pas dans NSMutableArray?
Veuillez ne pas jeter du code. Vous devez expliquer ce que vous avez fait. C'est une mauvaise réponse. – arco444
ok je m'en souviendrai la prochaine fois .... merci pour suggestion ... – Mak