ファイル処理
あなたのアプリは、標準のシステム提供のダイアログを使用して、ユーザがファイルシステムを操作してファイルを開いたり保存したりできます。
開くダイアログ
[Open(開く)] ダイアログは、開いたり、インポートしたり、挿入したり、選択したりするためにファイルシステム内のアイテムを見つけるための一貫した方法を提供します。[開く] ダイアログは、スタンドアロンのウィンドウ (アプリは一度に 1 つの [開く] ダイアログのみを表示できます) として、または特定のウィンドウに添付されたシートとして表示できます。
標準の [開く] ダイアログ | [開く] ダイアログシート |
[開く] ダイアログをスタンドアロンのウィンドウとして表示するか、シートとして表示するかを決定します。 編集のためにドキュメントを開くときなど、ダイアログがアプリ全体に関係する場合は、スタンドアロンのウィンドウとして表示します。ドキュメントにイメージを挿入する場合など、ダイアログが特定のウィンドウに関連する場合は、対応するウィンドウにシートとして添付する必要があります。
適切な場所にデフォルトとしましょう。 一部のアプリでは、デフォルトで、ドキュメントフォルダやデスクトップなどのユーザのホームフォルダ内の標準の場所に設定するのが理にかなっています。他のアプリでは、ユーザが最後に選択した場所をデフォルトにするのが理にかなっています。iCloud 同期が有効になっている場合、通常、アプリの iCloud フォルダが最適なデフォルトの場所です。
説明的なタイトルまたはメッセージを追加することを検討してください。 すべての [開ける] ダイアログにタイトルやメッセージが必要なわけではありませんが、ダイアログの目的が明確でない場合は、これらの属性を使用してコンテキストを提供できます。タイトルは、ユーザが何を選択するかを示す必要があります。たとえば、[写真を選択] などです。タイトルだけでは十分に具体的でない場合は、より詳細なメッセージを含めることができます。タイトルはシートに表示されないことに注意してください。
タスクを反映するように [Open(開く)] ボタンのタイトルをカスタマイズします。 たとえば、ダイアログでユーザが挿入するファイルを選択できる場合は、[Open(開く)] ボタンのタイトルを [Insert(挿入)] に変更します。
人々が期待される方法でドキュメントを開けるようにします。 ドキュメントを基礎にしたアプリでは、[File(ファイル)] > [Open(開く)] を選択するか、対応するキーボードショートカットの Command-O を押して、編集用にドキュメントを開くことを人々は期待しています。ファイルメニュー を参照してください。
最近のドキュメントを再度開ける方法の提供を検討してください。 ドキュメントを基礎としたアプリでは、ドキュメントは多くの場合、いくつかの作業セッションを通じて編集されます。たとえば、ユーザは 1 日の終わりにドキュメントを閉じ、翌朝開いて作業を続けることができます。多くのアプリでは、[File(ファイル)] メニューに [Open Recent(最近の項目を開ける)]項目が含まれています。これにより、[開く] ダイアログを使用せずに、最近開いたドキュメントを 1 つの手順で再度開くことができます。
意味がある場合には、複数のファイルを選択できるようにします。 たとえば、あなたのアプリにイメージの挿入機能が含まれている場合、ユーザが一度に複数のイメージを挿入できるようにすると便利で効率的な場合があります。
必要に応じて、[Open(開く)] ダイアログの機能を拡張します。 アプリで意味がある場合は、便利な設定やオプションを含むカスタムアクセサリビューを [開く] ダイアログに追加できます。たとえば、TextEdit の [開く] ダイアログには、人々がさまざまなコード化を指定できる [Options(オプション)] セクションがあります。
特定の種類のファイルのフィルタリングを可能にするポップアップボタンを含めることを検討してください。 デフォルトで適切なフィルターを使用し、指定された基準に一致しないファイルを無効にして、選択できないようにします。ユーザが必要に応じてサポートされているすべてのファイルタイプを参照できるように、ポップアップボタンに [All Applicable Files(すべての該当するファイル)] オプションを必ず含めてください。
開発者向けガイダンスについては、NSOpenPanel (NSOpenPanel) を参照してください。
保存ダイアログ
[保存] ダイアログは、ファイルを保存またはエクスポートするときにファイル名と出力場所を指定するための一貫した方法を提供します。[保存] ダイアログは通常、保存中のウィンドウにシートとして添付され、折りたたみと展開の 2 つの状態があり、開示ボタンをクリックして切り替えることができます。折りたたまれた状態のダイアログには、ファイル名フィールド、出力場所を選択するためのポップアップボタン、保存されたファイルにタグを付けるためのフィールド、オプションのファイル形式ポップアップボタン、カスタム保存オプションを表示するためのオプションのアクセサリビュー、[保存] ボタンと [キャンセル] ボタンが含まれます。展開された状態では、ダイアログには同じ要素が含まれますが、ファイルシステムを参照して出力フォルダーを見つけるためのはるかに広いビューが提供されます。
折りたたまれた [保存] ダイアログ | 展開した [保存] ダイアログ |
ヒント
ユーザが保存されていないドキュメントを閉じようとしたときに自動保存が有効になっていない場合、アプリは閉じるのに確認ダイアログを表示できます。閉じるのに確認ダイアログは、ドキュメントを保持するかどうかをユーザに尋ねる説明テキストを含む [保存] ダイアログです。ユーザは、ドキュメントの保存、キャンセル、または削除を選択できます。
アプリがドキュメントを基礎にしている場合は、自動保存を有効にします。 一般に、人々はコンテンツが継続的に、介入なしに保存されることを期待しています。自動保存を選択して、アプリのこれらの動作に依存できるようにします。自動セーブ を参照してください。
デフォルトは適切な出力フォルダです。 一部のアプリでは、デフォルトで、ドキュメントフォルダやデスクトップなどのユーザのホームフォルダにある標準の出力フォルダを使用するのが理にかなっています。他のアプリでは、ユーザが最後に選択した出力フォルダをデフォルトにするのが理にかなっています。iCloud 同期が有効になっている場合、アプリの iCloud フォルダがデフォルトの出力フォルダとして適していることがよくあります。
保存されているファイルの拡張子を表示するかどうかを人々に選択できるようにします。 ファイル拡張子はデフォルトでは非表示にすべきですが、ユーザは [拡張子を非表示] チェックボックスをオフにすることで、必要に応じてファイル拡張子を表示できるようにするべきです。ユーザがこのチェックボックスの状態に変更した場合は、ユーザがあなたのアプリを終了して再度開いた後でも、アプリが表示する今後の [保存] ダイアログに反映されるべきです。
ファイル名フィールドに事前入力します。 ドキュメントを初めて保存するときは、ファイル名フィールドには "Untitled(無題)" というテキストを含めるべきです。ドキュメントのコピーを保存するとき、またはドキュメントをエクスポートするときは、ファイル名フィールドにはドキュメントの名前を含めるべきです。ユーザがすぐに入力を開始して変更できるように、[ファイル名] フィールドのテキストを選択する必要があります。
あなたのアプリが複数のファイル形式で保存できる場合は、ユーザが出力形式を選択できるようにします。 出力形式が存在する場合は、出力位置の下にあるポップアップボタンを介して表示されます。
必要に応じて、[保存] ダイアログの機能を拡張します。 あなたのアプリで意味がある場合は、便利な設定やオプションを含むカスタムアクセサリビューを [保存] ダイアログに追加できます。たとえば、メール メッセージをファイルとして保存するためのダイアログには、添付ファイルを含めるオプションが含まれています。
開発者向けガイダンスについては、NSSavePanel (NSSavePanel) を参照してください。