Je ne sais pas exactement quel est mon problème depuis que j'utilise cette méthode depuis un moment maintenant et je n'ai jamais eu ce problème.Tableau ne charge pas les données de plist
Fondamentalement, comme le dit le titre. Ce code charge les données à partir d'un plist situé dans le groupe "Resources"
NSString *myFile = [[NSBundle mainBundle] pathForResource:@"myList" ofType:@"plist"];
myArray = [[NSArray alloc]initWithContentsOfFile:myFile];
NSLog(@"%@", myArray);
Il affiche (null). Quelqu'un sait pourquoi?
J'ai dans le même ViewController une autre installation et fonctionne très bien. Ce plist particulier ne charge cependant pas. Et j'ai même effacé le plist et juste créé un double de l'autre pour m'assurer que ce n'est pas un problème de structure.
Je fais cela dans le mauvais sens? Dois-je utiliser FileManager?
MISE À JOUR --------------------------------------------- ----------------------------
Ok donc, je ne peux pas croire ce que je vais dire. lol
J'utilise XCode 4, la façon dont vous éditez les plistes dans Xcode est différente de Xcode 3.x. Comme dans les versions précédentes, vous pouvez choisir la racine des plistes pour que vous les vouliez (Array, Dictionary, etc.) Mon problème était que le plist que j'essayais de charger dans un NSArray était en fait structuré comme un dictionnaire. Cependant, je n'ai jamais vu cela dans Xcode, et je n'ai aucune idée de la façon de le voir autrement que de parcourir le contenu en utilisant TextEdit ou un autre éditeur de texte.
Assez bête je dois dire. Est-ce que quelqu'un sait pourquoi XCode 4 ne montrera pas la racine du plist comme le fait XCode 3.x?
3.x XCode:
XCode 4: http://dl.dropbox.com/u/919254/Screen%20shot%202011-04-10%20at%202.30.35%20AM.png
Cela fonctionne ... même si je ne comprends pas pourquoi.La structure du plist est exactement la même que celle que j'utilise pour le reste de mes fichiers. :( – MrShoot
Vous * ne pouvez pas * utiliser un NSDictionary ou NSMutableDictionary pour charger une plist si l'objet de premier niveau dans le plist est un tableau, et vice versa.Ce n'est pas une question de préférence de l'utilisateur. , le problème d'OP était que l'objet de premier niveau dans le plist sous-jacent était un dictionnaire plutôt qu'un tableau.Si c'est le cas, alors @ManuelDiaz a posté le mauvais exemple de fichier plist – jlehr
Merci pour la clarification. avec Xcode 4. N'a pas remarqué jusqu'à la mise à jour de @Manuel Diaz que Xcode 4 cache la racine de plist. – David