μ-Blog

μFactory管理人が、誰かに役に立つかもしれない情報をまとめたブログです

セーブパネル表示後、NSSavePanel内の保存ファイル名を変更する

 NSSavePanelの保存ファイル名欄にファイル名をあらかじめ設定するには、
- (NSInteger)runModalForDirectory:(NSString *)path file:(NSString *)filename
を使います。が、下図のように、セーブパネル表示後、ユーザの操作にあわせて保存ファイル名を変更したい場合はどうすればいいのでしょうか?

結論から言うと、NSSavePanelのメンバ変数
IBOutlet NSTextField *_nameField;
を操作することで実現できます。NSSavePanelクラスにはnameFieldのアクセッサメソッドが用意されていないので、アクセッサメソッドを追加したNSSavePanelのサブクラスを作成しました。