【Swift】iOSアプリのフォルダ検索

iOSアプリのフォルダ検索方法について解説します。
iOSアプリのファイルシステムについては、【Swift】アプリ内のファイル読み書きで解説していますので、あわせてそちらも御覧ください。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】12.4
【Swift】5.3.2
【iOS】14.4
【macOS】Big Sur バージョン 11.1
スポンサーリンク

パスとURL

URLはリモートサーバー上のアイテムやローカルファイルへのパスなど、リソースの場所を識別する構造体です。

例えば、iPhoneの実機でホームディレクトリのパスは、次のような文字列ですが、

これをURL形式にすると、ローカルファイルを示す"file://"が、先頭に付加されます。

Appleではローカルファイルを参照する際にも、このURLの使用を推奨しています。

スポンサーリンク

URL構造体のイニシャライザとプロパティ

URL(fileURLWithPath: パス)
引数で指定したローカルファイルパスまたはディレクトリを参照するURLを生成します。
次のように使うと、アプリケーションのホームディレクトリURLが取得できます。

.path
URLからパス(String)を返すプロパティです。

.lastPathComponent
URLの最後のパスコンポーネントを返す、パスが空文字の時は空文字を返します

.hasDirectoryPath
URLがディレクトリを表す場合にtrueを返します。

.isFileURL
URLがファイルを表す場合にtrueを返します。

スポンサーリンク

フォルダの検索

フォルダの検索はFileManagerクラスのメソッドcontentsOfDirectory()を使います。
引数atで指定したフォルダURL直下にあるアイテムのURLリストを返します。

このメソッドは失敗した場合エラーを返すので、try catchによるエラーハンドリングが必要です。

スポンサーリンク

使用例

アプリケーションのホームディレクトリ配下を検索するサンプルアプリです。

フォルダ検索アプリ

スポンサーリンク

あわせて読みたい記事

【Swift】アプリ内のファイル読み書き
(2022/01/18 更新) アプリ内のファイル読み書き方法を解説します。
swift
スポンサーリンク