2011-07-15 5 views
0

L'écriture de données de tableau sur nsmarrHeader et nsmarrData fonctionne correctement. Lorsque j'écris ces NSMabledArrays "2D" dans la structure que je reçois: Programme reçu le signal: "EXC_BAD_ACCESS".Signal reçu du programme: "EXC_BAD_ACCESS"

struct typeFile structFile; 

[structFile.nsmarrHeader addObjectsFromArray: nsmarrHeader]; 
[structFile.nsmarrData addObjectsFromArray: nsmarrData]; 

cela devient la même erreur:

[structFile.nsmarrHeader addObject: nsmarrHeader]; 
[structFile.nsmarrData addObject: nsmarrData]; 

Je ne suis pas sûr ce qui est mal à écrire à la structure ou ce que je devrais faire différemment alors?

grâce

+0

sont [ structFile nsmarrHeader] et nsmarrHeader le même tableau? Même question pour les instances de nsmarrData – ColdLogic

+0

Y a-t-il un but pour utiliser une structure de style C pour contenir NSMabledArrays? – Joe

Répondre

3

si vous avez des objets Objective-C comme champs de structure plaine alors ils ne sont pas initialisés par défaut et donc dans votre code que vous essayez d'envoyer un message à l'objet non initialisé et ainsi obtenir EXC_BAD_ACCESS erreur.

Avant d'utiliser vos champs de structure vous devez les initialiser explicitement, mais je pense que si cela est possible de mieux utiliser des objets Objective-C au lieu de struct plaine - qui va rendre les choses beaucoup plus facile pour vous (par exemple, gestion de la mémoire)

Questions connexes