l'accès à plist in app bundle renvoie null
Je suis à l'aide d'un morceau de code que j'ai déjà utilisés avec succès pour charger un fichier plist dans un tableau:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"species_names" ofType:@"plist"];
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
La initWithContentsOf Fichier est défectueux (tableau est null, ce qui suggère qu'il ne peut pas trouver le fichier plist dans l'app bundle).
Sous le simulateur d'iPhone, j'ai vérifié que le chemin créé par la première ligne de points à l'application fichier (c'est le cas), et utilisé le Finder menu contextuel "Show package contants" pour me prouver que "species_name.plist" est en fait dans le bundle--avec une longueur qui suggère qu'il contient des choses, il devrait travail (et dans d'autres applications iOS, j'ai écrit). Suggestions la plupart de bienvenue...
[env Xcode 4.2 beta, iOS 4.3.2].
source d'informationauteur RonC
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
initWithContentsOfFile:
méthode deNSDictionary
exemple, pasNSArray
.Voici un exemple:
Ou ceci:
MODIFIER
Vous pouvez utiliser
initWithContentsOfFile:
méthode deNSArray
avec les fichiers créés avecwriteToFile:atomically:
méthode deNSArray
. Plist créé avecwriteToFile:atomically:
a cette stucture:Et Plist créé dans XCode a cette stucture:
C'est pourquoi
initWithContentsOfFile:
méthode deNSArray
travail dosnt.plist
de ce type:OU (en gros, les deux sont identiques)
Peut être lu comme ceci:
Où
appFeatures
est le nom de laplist
.(iOS 6.1)
Essayez ce simple metod: