Question

Je suis en train de créer un tableau de NSStrings du contenu d'un dossier que je l'ai traîné dans mon projet ... mais quand je compte les éléments du tableau par la suite, il est revient toujours avec 0;

Alors, mon dossier dans mon projet ressemble à ceci

-Cards
  -Colors
     Blue.png
     Green.png
     Orange.png
     Yellow.png
     Purple.png
     Black.png

Et mon code qui tente d'obtenir la liste des fichiers (les PNGs de couleur) est

NSError *error = nil;
NSString *pathString = [[NSString alloc] init];
pathString = [[NSString alloc] initWithString:@"/Cards/Colors/"];
NSArray *fileList = [[NSArray alloc] init];
fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathString error: &error];
[pathString release];
NSLog(@"%@", error);
// this is always 0
NSLog(@"file list has %i items", [fileList count]);

Le NSError que je reçois est

Error Domain=NSCocoaErrorDomain Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0x596db00 {NSUserStringVariant=(
    Folder
), NSFilePath=/Cards/Color/, NSUnderlyingError=0x5925ef0 "The operation couldn’t be completed. No such file or directory"}

Les ideads où je me trompe?

Était-ce utile?

La solution

Vous êtes à la pathString d'initialisation /Cards/Colors/ de chemin absolu. Ce chemin est un chemin de système, de sorte sur l'iPhone, loin à l'extérieur du bac à sable de votre application.

Essayez ceci:

NSString *pathString = [[NSBundle mainBundle] pathForResource:@"Cards/Colors" ofType:nil];
NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathString error: &error];

(Notez que la façon dont vous avez votre code dans la question, vous fileList alloc / init, puis immédiatement l'objet de fuite en lui affectant les résultats de contentsOfDirectoryAtPath:error:. Ceci est un bug.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top