2010-02-28 3 views
1

J'essaie actuellement d'extraire des données d'un plist.Echec de la lecture des données du tableau à partir d'une plist - (null) éjecté

Il ressemble fondamentalement que:

plist called 'woerter' 
    -> Root key of type Dictionary 
    -> woerter key of type Array 
     -> various Items of type String with string Values 

Quand je vais maintenant essayer de lire une chaîne aléatoire à partir, je reçois seulement une expression (null)

NSString * path = [[NSBundle mainBundle] bundlePath]; 
NSString * finalPath = [path stringByAppendingPathComponent:@"woerter.plist"]; 
NSDictionary * plistData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain]; 
NSArray * array = [plistData valueForKey:@"woerter"]; 
NSString * string = [array objectAtIndex:arc4random() %110]; 
NSLog(@"stringtest %@", string); 

Mais tout ce que je reçois est

2010-02-28 23: 01: 58,911 TypeFast [5606: a0f] StringTest (null)

Ce n'est pas un problème avec arcrandom car objectAtIndex: 2 renvoie la même chose.

Où est le problème?

Merci (:

+0

Vous devez parcourir ce code et savoir où il ne fonctionne pas. L'une de vos méthodes peut échouer silencieusement, en retournant null, puis en cascade pour présenter une valeur NULL à l'affectation finale.C'est pour cela que gdb est pour –

Répondre

2

Vous avez oublié de Alloc le NSDictionary et le NSArray, de sorte que le tableau et le dictionnaire ne peut pas enregistrer les valeurs

+0

Eh? Le questionneur crée un NSDictionary à partir d'un fichier, donc il n'y a pas besoin pour allouer un, et obtient le tableau du dictionnaire Il y a deux raisons pour lesquelles cela pourrait échouer, mais ne pas envoyer de message 'alloc' n'en fait pas partie. –

Questions connexes