ファイルダイアローグ-ファイルのパスを取得する-

ファイルを開いたり、保存したりするときファイルのパスを取得する必要があります。ファイルパスの取得にはOSのAPIを使用します。ここでは、Cocoa API(MacのAPI)を利用して、ファイルダイアローグからパスを取得する方法を紹介します。

ファイルを開く-オープンダイアローグ-

ファイルを開く際にはNSOpenPanelクラスを利用します。具体的には以下のようにします。

let dlg=NSOpenPanel()
dlg.allowedFileTypes=["jpg","jpeg","png"]
if dlg.runModal() != 1 {return}

FileTypeに開くファイルの情報を設定します。ここではjpg,jpeg,pngファイルを開くように設定しています。そして、「runModal」でダイアローグを実行しています。戻り値は

  • ファイルが選択された:1
  • キャンセルが選択された:0

となります。選択されたファイルのURLは

dlg.url

で取得可能です。

ファイルを保存する-セーブダイアローグ-

ファイルを保存するにはNSSavePanelクラスを使用します。

let dlg=NSSavePanel()
dlg.allowedFileTypes=["jpg","jpeg","png"]
if dlg.runModal() != 1 {return}

NSOpenPannelがNSSavePanelになっただけです。基本的にNSOpenPanelと同じです。

著者:安井 真人(やすい まさと)