Swift

Swift:NSSavePanelのソースコード

NSSavePanel / NSOpenPanel / NSAlertのサンプルコードです。

ソースコードはここにあります。

  • func名がCallからはじまるものは実際のアプリの実装でも使っています。
  • NSOpenPanelでは複数のURLが返ってくるように設定できますが、NSSavePanelはひとつしか返ってきません。しかも、配列で返ってきますので、ここは注意です。
  • インタフェース上で、cancelされたらfalseを返り値にしていたのですが、URL配列だけにしました。キャンセルのときはNSURL()を返します。しかし、NSURL()=nil!です。ここは注意。
  • full filepathはURLのあとに.pathをつけるだけです。folderpathとファイル名は、var wPathArray:[String] = pNSURL.pathComponents!で得られます。
  • なお、saveで上書きかどうかは自分でalertを出す必要がありませんでした。
  • このサンプルではファイルの読み込み・書き込みはありません。URL/pathのハンドリングだけです。

蛇足になりますが、ファイルの読み込み・書き込みはNSSavePanel / NSOpenPanelを使ったほうがいいようです。

Categories: Swift, 技術