2016-11-23 10 views
0

Ich bin verrückt.Swift 3: Liste der Dateien Optional()

Ich versuche, um die Liste der "txt" Dateien aus einem Ordner zu erhalten, aber ich erhalte die Liste in Form von

Optional ("Dateinamen"). Txt

Hier mein Code, nichts Besonderes. Ich habe versucht, den Dateinamen auszupacken, aber der Compiler gibt mir einen Fehler. Ich versuchte einen "Wächter", einen mit "wenn", versuchte ich "!" ... nichts funktioniert.

let enumerator:FileManager.DirectoryEnumerator = FileManager().enumerator(atPath: myFolderPath)! 

    while let element = enumerator.nextObject() as? String { 

     print(element) 

     if element.hasSuffix("txt") { 

      fileList.append(element) 
     } 

    } 

Ich brauche diese Liste in einer Tabellenansicht zu zeigen.

ich hoffe ich bin doch nicht trought das Array und erhalten den Namen der Dateien mit einem Bündel o String-Methoden nur loswerden diesen Text ...

Ich bin nicht sicher laufen, was Kann ich tun! Ich will diese Lösung nicht wirklich verwenden:

Swift: Optional Text In Optional Value

Danke

+3

Sie sollten sich die Dateien in diesem Ordner ansehen und sicherstellen, dass Sie keine Datei mit diesem Namen haben. Ich frage mich, ob Sie es versäumt haben, ein optionales zu entpacken, wenn Sie den Dateinamen ursprünglich beim Erstellen der Datei erstellt haben. Wenn Sie dies im Simulator ausführen, navigieren Sie auf Ihrem Mac Finder zu '~/Library/Developer/CoreSimulator/Devices', suchen Sie nach dem Gerät auf dem Sie testen (schauen Sie sich die Daten an, anstatt sich auf diese kryptischen UUIDs zu verlassen). – Rob

+1

In Bezug auf das vorliegende Problem, anstelle von "FileManager()", würde ich 'FileManager.default' vorschlagen, z. 'let enumerator = FileManager.default.enumerator (atPath: myFolderPath)!'. – Rob

+0

Der Code soll funktionieren. Haben Sie 'fileList' als' [String?] 'Deklariert? Wenn ja, tu das nicht. – vadian

Antwort

0

@ Vadian und Rob: Sie Jungs Rock, aufgefordert, die richtige Frage.

Das Problem war, dass ich die TXT-Dateien mit einem Textfeld benennen und ich mache alle notwendigen Arbeiten, um sicherzustellen, dass dieses Textfeld nicht leer ist oder nicht.

Ich hätte nie gedacht, dass dieses Textfeld optional sein könnte, daher der Wunsch („Dateiname“). Txt

Sobald ich den Wert aus dem Textfeld Optional() gegangen war ausgepackt.

Vielen Dank.