Aller au contenu


Photo

Lister fichiers d'une Directory


  • Please log in to reply
8 réponses à ce sujet

#1 Patyom

Patyom

    Cueilleur de cabosses

  • Membre
  • PipPipPip
  • 84 messages

Posté 05 juin 2017 - 10:28

Bonjour,

Encore une fois je patauge !!

 

J'ai beaucoup de Pb de compréhension avec le "FileManager"

 

Je cherche à lister les fichiers d'une directory et de les mettre dans un "PopupButton"

 

Ma directory ne se situe pas dans "//user/Documents" mais à un autre endroit dans "users"

 

je sais changer de "directory current", mais c'est après que çà pèche.

 

quelqu'un pourrait-il m'aiguiller ?



#2 Larme

Larme

    Broyeur de fèves

  • Artisan chocolatier
  • PipPipPipPipPipPip
  • 1 981 messages
  • LocationParis

Posté 05 juin 2017 - 10:40

contentsOfDirectoryAtPath:error: ?


Tant que vous avez des dents, mangez des pommes. Tant que vous avez de l'argent, croquez la Pomme.

#3 Lexxis

Lexxis

    Ecabosseur en fèves

  • Membre
  • PipPipPipPip
  • 419 messages

Posté 05 juin 2017 - 10:41

Salut,

as tu essayé d'utiliser l'API enumeratorAtPath ou contentsOfDirectoryAtPath ?

 

Grillé par Larme



#4 Patyom

Patyom

    Cueilleur de cabosses

  • Membre
  • PipPipPip
  • 84 messages

Posté 05 juin 2017 - 10:47

contentsOfDirectoryAtPath:error: ?

 

Salut,

as tu essayé d'utiliser l'API enumeratorAtPath ou contentsOfDirectoryAtPath ?

 

Grillé par Larme

Bonjour à vous deux

 

Vos réponses sont surement exact mais pour moi leur utilisation est encore trouble.

 

il n'y a pas mieux qu'un petit exemple à l'appui.



#5 Larme

Larme

    Broyeur de fèves

  • Artisan chocolatier
  • PipPipPipPipPipPip
  • 1 981 messages
  • LocationParis

Posté 05 juin 2017 - 10:58

Pourrais-tu te présenter dans la section du forum adéquat ?

Je ne sais pas quel est ton niveau en Swift (qui semble débutant), mais en programmation tout court, du coup, cela nous aiderait pour adapter nos réponses.

 

Pour contentsOfDirectyAtPath, il y'a juste un throw/catch qui est un coup à avoir et à savoir coder, sinon, cela ne me semble pas difficile.

 

Quel est ton code actuel ?


Tant que vous avez des dents, mangez des pommes. Tant que vous avez de l'argent, croquez la Pomme.

#6 Patyom

Patyom

    Cueilleur de cabosses

  • Membre
  • PipPipPip
  • 84 messages

Posté 05 juin 2017 - 11:02

Pourrais-tu te présenter dans la section du forum adéquat ?

Je ne sais pas quel est ton niveau en Swift (qui semble débutant), mais en programmation tout court, du coup, cela nous aiderait pour adapter nos réponses.

 

 

C'est vrai je n'ai pas de notion en prog Objective-C ou Swift mais j'ai un passé en prog Xojo (Realbasic, grace à Aligator).

 

c'est surtout pour la syntaxe en Swift 3 que j'ai du mal, il a tant d'instruction spécifiques on s'y perd vite



#7 Joanna Carter

Joanna Carter

    Broyeur de fèves

  • Contrôleur d'arômes
  • 1 996 messages
  • LocationPlestin-les-Grèves (22)

Posté 05 juin 2017 - 11:40

Bien que c'est en anglais (voire américain) il y a un nouveau bouquin sur la version la plus récente de Swift https://itunes.apple...118575552?mt=11



#8 Patyom

Patyom

    Cueilleur de cabosses

  • Membre
  • PipPipPip
  • 84 messages

Posté 05 juin 2017 - 21:52

j'ai essayer de trouver un peu la solution dans ce code :


import Foundation

var documentDirURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
documentDirURL.deleteLastPathComponent()
let suitepath = "MonDomaine/PROGS-SWIFT/CE-Journalier"
documentDirURL.appendPathComponent(suitepath)

// ------------------------------------
//
// Read data from documentDirURL (file:///Users/PATRICK/MonDomaine/PROGS-SWIFT/CE-Journalier)

var filesList: [URL] = []
var showInvisibles = false

// Recherche des fichiers
filesList = liste(folder: documentDirURL)    // *** Error = use of unresolved identifier 'liste' ***

// Vérification
for file in filesList {
    print(file.pathComponents.last)
}

// fonction de recherche de fichiers
func liste(folder: URL) -> [URL] {
    let fileManager = FileManager.default
    do {
        let contents = try fileManager.contentsOfDirectory(atPath: folder.path)
        let urls = contents
            .filter { return showInvisibles ? true : $0.characters.first != "." }
            .map { return folder.appendingPathComponent($0) }
        return urls
    } catch {
        return []
    }
}

J'arrive à le faire tourner dans Playground malgré l'erreur au niveau de la ligne  "Recherche de fichiers" mais dans un prog "Command Lines Tools", il plante carrément.

 

Qu'en pensez-vous ?



#9 Draken

Draken

    Mouleur de chocolats

  • Artisan chocolatier
  • PipPipPipPipPipPipPipPip
  • 8 794 messages
  • LocationParis

Posté 06 juin 2017 - 06:59

Playground, "command lines tools" ? T'aimes bien les trucs exotiques, non ?

 

Je n'ai pas souvenir que l'on puisse utiliser un composant graphique comme un PopupButton, avec "Command Lines Tools". Une application console n'a pas grand chose à voir avec une interface graphique.


  • Joanna Carter aime ceci

Garçon, servez-moi un Covfefe avec du lait de soja, sans OGM ..

Et faites régler la climatisation, il fait bien chaud, ici !

 

 

Éternel Novice !  :baby:

Tueur de poneys !  :(

 

Faire simple .. c'est compliqué !

Faire compliqué .. c'est simple !

 

Un MOOC (cours en ligne - dont je ne suis pas l'auteur) gratuit sur la programmation en Obj-C et en Swift 3, démarrant le 14 Mars 2017 :

https://www.edx.org/...onnex-progios1x

 

Des dizaines d'heures de tutoriels vidéo en français (je ne suis pas l'auteur) pour apprendre à développer en Obj-C et Swift : http://pagesperso-sy...don/5I452-2014/

 

 





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)