2010-07-28 3 views
0

Je poste ce sujet car j'ai un problème avec mon application iPhone depuis 3 jours. J'espère que quelqu'un peut m'aider parce que je deviens fou.Accéder à un NSMutableArray d'un objet

Voici la chose: Je remplis un objet userXMLData, dans le délégué de mon application, avec un analyseur XML. Cet objet contient de nombreux NSStrings et un NSMutableArrays qui contient des objets de type Album à.

Mon problème est: je peux afficher toutes les données de userXMLData avec une fonction interne, mais quand j'essaye d'obtenir les données du tableau dans mon viewController, cela ne fonctionne pas. Je veux dire, ça plante. C'est bizarre parce que je peux accéder à la appDelegate.userXMLData.NSString mais pas de mon appDelegate.userXMLData.NSMutableArray

Voici mon code:

// Initializaiton in the delegate 
userXMLData = [[UserXMLData alloc] init]; 
userXMLData.myArray = [[NSMutableArray alloc] init]; 

UserXMLData.h

@interface UserXMLData : NSObject { 
    // User Data 
    NSString *userId; 
    // Content 
    NSMutableArray *myArray; 
} 

@property(nonatomic, retain) NSString *myString; 
@property(nonatomic, copy) NSMutableArray *myArray; 

@end 

// Album.h

@interface Album : NSObject { 
    NSString *albumId; 
    NSMutableArray *content; 
} 

@property(nonatomic, retain) NSString *albumId; 
@property(nonatomic, retain) NSMutableArray *content; 

@end 

Comme je l'ai dit, je ne sais vraiment pas pourquoi il se bloque. Je suis coincé et je ne peux pas continuer mon application sans le réparer.

Répondre

0

Zombies Activer en suivant les instructions ici:

http://loufranco.com/blog/files/debugging-memory-iphone.html

Cela entraînera votre application pour ne pas libérer les objets et place les amener à se plaindre à la console si les messages sont envoyé à eux après qu'ils sont libérés.

La cause la plus fréquente d'un accident est de relâcher trop souvent (ou de le conserver trop peu de fois). En outre, l'exécution d'une génération et d'une analyse peut parfois signaler ces problèmes.

+0

Oui, vous aviez raison. J'ai trouvé mon erreur, c'était juste quand je voulais imprimer mes données, j'ai libéré un objet, qui était le même pointeur de mon objet réel ... – iLionel

0

Je serais en mesure de mieux répondre si vous affichez le code où vous essayez d'accéder au tableau et l'erreur que vous recevez lors du plantage, mais je risque de deviner que vous n'avez pas @synthesize myArray dans votre implémentation (.m) fichier

Questions connexes