Recup des fichiers d'un dossier sous forme de array
Hello, 'core moiÂ
Tout est ds le titre, je voudrai savoir s'il y a un moyen simple de récupérer le nom de chacun des fichiers contenus ds un dossier et de transformer la liste de fichier sous forme d'un Array contenant plusieur mutableDico
comme ceci :
Merci d'avance !Â
Tout est ds le titre, je voudrai savoir s'il y a un moyen simple de récupérer le nom de chacun des fichiers contenus ds un dossier et de transformer la liste de fichier sous forme d'un Array contenant plusieur mutableDico
comme ceci :
<array><br /> <dict><br /> <key>etat</key><br /> <data><br /> </data><br /> <key>file</key><br /> <string></string><br /> </dict><br /> <dict><br /> <key>etat</key><br /> <data></data><br /> <key>file</key><br /> <string><br /> </string><br /> </dict><br /></array>
Merci d'avance !Â
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Regarde au niveau de NSFileManager, tu as la méthode [tt]- (NSDirectoryEnumerator *)enumeratorAtPath:(NSString *)path[/tt], que tu peux utiliser comme un énumérateur normal puis tu crées les dicos dans la boucle de l'énumérateur. Si tu veux éviter d'avoir les sous éléments du dossier, tu envoies [tt] skipDescendents[/tt] à l'énumérateur avant de commencer la boucle.
[size=7pt]Désolé c'était plus fort que moi. Ceci dit, j'ai aussi répondu à la question que tu voulais poser, surligne ou cite ce post et tu auras ta réponse. [/size]
Enfin, bon...
Peut être que ça "c'est de la réponse", mais ça c'est aussi de la question !
Car "transformer la liste de fichier sous forme d'un Array contenant plusieur mutableDico", ça aussi, c'est pas clair...
Et tu mets quoi ton ton dictionnaire ? une clé pour le nom du fichier ? Et les autres clés, elles contiennent quoi ?
.
NSFileManager :
- (NSArray *)directoryContentsAtPath:(NSString *)path
doit y avoir moyen aussi avec NSDirectoryEnumerator
j'avais pa vu ;D
Merki vais voir ce que je peux en tirer
J'ai récupérer le contenus d'un dossier grâce à la méthode de Core.
Le truc chiant c'est que je veux afficher ces noms de fichiers dans un tableau avec une colonne identifier "fileName" et une autre qui contiendra une NSImage avec comme ident "etat".
Le but de mon app est en fait de surveiller les fichiers contenus dans un dossier, s'il l'un d'entre eux est déplacé dans un dossier spécifié "Good", ou bien dans le dossier "Bad" ou encore "Tocheck".
Le NSImage contenu ds la colonne etat changera en fonction du dossier dans lequel a été déplacé le ou les fichiers.
Donc pour tout ça je pense que j'ai besoin d'une Array qui contient des Dico avec dans chacuns des dico, une key : "fileName" et une valeur string "nomDuFichier" puis une autre key "etat" pour le NSImage.
Le problème c'est que cette méthode crée un NSArray avec les key qui deviennent des index c'est po vraiment cool.
Je demande pas la solution car j'aimerai faire ça de moi-même et je trouves que j'en demande déjà bcp sur ce forum ! Tout ce que je voudrais c'est quelque chose qui pourrait me mettre sur la piste, afin de gérer convenablement mon NSTableView...
J'espère avoir été assez compréhensif
Merci encore !
J'ai vraiment du mal à comprendre cette phrase... Tu ne pourrais pas la reformuler correctement? (en une seule phrase, j'y tiens, savoir formuler une question est déjà y répondre).
tu pourrais lister tour à tour ces dossiers et remplir un NSArray et "mémoriser" via des NSRange, par exemple, quel fichier est good , bad ou toCheck
3 NSMutableArray pourront permettre l'ajout, la suppression, et le changement d'état facilement.
En fait si je crée 3 NSMutableArray (3 par état comme di Eddy), initialisés à l'aide de directoryContentsAtPath, ça voudrait dire que j'initialise une array pour chaque dossier à savoir : toCheck, Bad et Good.
C'est bien beau mais imaginons que j'ai plusieurs dossiers de "départ" à gérer et dont le contenu doit aller aussi dans l'un des 3 dossier de destination. Je pourrais fonctionner avec un NSOutlineView (je sais pas comment ça marche) mais pour l'instant c'est pas mon but.
Si je ne gère qu'un dossier "départ", avec les 3 dossiers de destination toCheck bad et good, je vais d'abord bosser avec un NSTableView.. Eddy me dit de faire 3 colonnes pour l'état et donc +1 colonne pour le nom du fichier ???
C'est assez chiant, mais en fait je veux simplement une colonne avec le nom des fichiers puis une colonne d'état (afin de faire plus discret).
En fait ce ptit programme servira à gérer les vérification des fichiers PDF de PitStop Server, afin de simplifier la vie à certaines entreprises. Et certains auront sûrement plusieurs dossiers "source" à gérer mais auront forcément les 3 dossiers de destination fixes.
Mon but pour le moment est donc de trouver un moyen de décortiquer cette NSArray, initialisée avec directoryContentsAtPath, en plusieurs NSDico (1 dico pour chaque fichiers).
Mais au lieu d'utiliser un dico, pourquoi ne pas utiliser une classe modèle dans ce genre là :
[tt]
@interface FileState : NSObject <NSCoding>
{
NSString *fileName;
int fileState;
}
[/tt]
Avec un state pouvant prendre 3 valeurs différentes. Je trouve qu'il est plus pratique et plus propre de travailler ainsi...
- M : Une classe modèle pour structurer les donnees dont tu as besoin, ici une classe pour les infos fichiers.
- V : Une tableview pour afficher les données de ta classe modèle.
- C : Un controleur, faisant ici le lien entre la tableview et la classe modèle. Ce controleur a deux fonctions principales :
*Gérer ton array en ajoutant, retirant ou modifiant des objets de ta classe modèle dans celui-ci.
*Gérer les datas sources et autres méthodes delegates de la tableview, en les faisant pointer sur ton array.
Le controleur s'occupe aussi d'autres choses comme l'archivage/desarchivage, initialisations, gui d'édition,...mais une fois les deux gros points ci-dessus fonctionnels, le reste s'implémente au fur et à mesure du developpement.
Dans l'immédiat, je n'ai pas en tete de tuto sur ce type d'application, des que je trouve un moment, si tu veux, je te fais un exemple simple, pour le principe.
En attendant jvais essayer de mon côté
http://www.projectomega.org/article.php?lg=fr&php=tuts_apparch&p=1