2016-11-23 5 views
0

私はナッツに行くよ。Swift 3:ファイルのリストOptional()

私はフォルダから「TXT」ファイルのリストを取得しようとしているが、私は

オプション(「ファイル名」)の形式でリストを取得する。TXT

がここにあります私のコード、何も空想。私はファイル名のアンラップを試みましたが、コンパイラは私にエラーを与えます。私は "ガード"を試しました。 ...何も働かない。

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

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

     print(element) 

     if element.hasSuffix("txt") { 

      fileList.append(element) 
     } 

    } 

この一覧を表形式で表示する必要があります。

私はよく分からない

...私はtroughtに配列を実行し、ちょうどこのテキストを取り除くために、文字列のメソッドoを束を使用してファイルの名前を取得することになっていないよ願っています僕にできる!私は本当にこのソリューションを使用したくない:

Swift: Optional Text In Optional Value

はあなたヴァディアンとロブ@

+3

そのフォルダ内のファイルを見て、その名前のファイルがないことを確認してください。ファイルを作成していたときにファイル名をビルドしていたときにオプションをアンラップすることを怠ってしまったのだろうかと思います。これをシミュレータで実行している場合は、Mac Finderで '〜/ Library/Developer/CoreSimulator/Devices'に移動し、テストしているデバイス用のものを探します(日付を変更することで、それらの潜在的なUUID )。 – Rob

+1

'FileManager()'ではなく、手元の問題とは無関係に 'FileManager.default'を提案します。 'let enumerator = FileManager.default.enumerator(atPath:myFolderPath)! 'を実行します。 – Rob

+0

コードが動作するはずです。 'fileList'を' [String?] 'と宣言しましたか?はいの場合はそれをしないでください。 – vadian

答えて

0

ありがとう:君たちはロック、あなたは右の質問をしました。

問題は、テキストフィールドで.txtファイルの名前を付けていることです。このテキストフィールドが空でないかどうかを確認するために必要な作業をすべて行っています。

私はそれゆえオプション(「ファイル名」)、このテキストフィールドはオプションとすることができることを考えたことはありません。txtの

私はテキストフィールドオプション(から値をアンラップしたら)行っていました。

ありがとうございます。