質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

7836閲覧

プロジェクト内に作成したディレクトリ以下の名前を取得する方法

hodoru3sei

総合スコア284

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/11/11 11:17

編集2018/11/11 11:18

プロジェクト内に作成したフォルダに格納されているファイル名を取得したいと考えています。
何か方法はありますでしょうか?

フォルダ構成はData/ファイルとなっています。
サンプルで作ったプロジェクトでは、Dataの下にdata.txtというファイルを置いていて、そのファイル名と拡張子を取得したいです。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

let urls = Bundle.main.urls(forResourcesWithExtension: "txt", subdirectory: "Data")

投稿2018/11/12 04:24

harumi

総合スコア407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Bundle.main.path(forResource:) でフルパスが取得できます。
フォルダ(Data)は関係ありません。

Swift

1 if let path = Bundle.main.path(forResource: "data", ofType: "txt") { 2 do { 3 let text = try String(contentsOfFile: path) 4 print(text) 5 } catch { 6 print("read error") 7 } 8 } else { 9 print("no bundle file") 10 } 11

Dataが黄色アイコンになっています。黄色の場合はグループとして組み込まれているため、
ビルドした時はルート配置なります。そのためバンドルのフルパスを取得する時は
フォルダ名を指定する必要がありません。

Add Filesで組み込むとき、「Create groups」を選択するとグループになります。
「Create folder references」を選択するとフォルダを維持して組み込みます。
この場合は黄色ではなく青色アイコンになります。
青色アイコンの場合はフォルダ階層も維持してビルドするため、

Swift

1if let path = Bundle.main.path(forResource: "Data/data", ofType: "txt") { 2

Bundle.main.path(forResource:)でもフォルダまで指定する必要があります。

投稿2018/11/11 13:08

daisuke7

総合スコア1563

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問