強火で進め

このブログではプログラム関連の記事を中心に書いてます。

ほぼ日、MacのGUI - SavePanel(保存するファイル名の指定、セーブパネル)

NSSavePanel(保存先のディレクトリとファイル名の選択)のサンプルです。


	[savePanel setRequiredFileType:@"txt"];

setRequiredFileType:メソッドの引数で拡張子を指定すると、拡張子が付加されたファイル名が返されます。

主な処理は以下の様になります。

- (IBAction)pushButton:(id)sender;
{
	NSSavePanel* savePanel;
	int res;
	
	savePanel = [NSSavePanel savePanel];
	
	// 設定するとファイル名にここで指定した拡張子が付加されます
	[savePanel setRequiredFileType:@"txt"];
	res = [savePanel runModal];
	
	if (res == NSFileHandlingPanelOKButton) {
		NSLog(@"OKボタンが押されました\n");
		NSLog(@"選択ディレクトリ : %@\n", [savePanel directory]);
		NSLog(@"選択ファイル : %@\n", [savePanel filename]);
	}
	else if (res == NSFileHandlingPanelCancelButton) {
		NSLog(@"Cancelボタンが押されました\n");
	}
}

公式の解説はこちら。

NSSavePanel Class Reference
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSavePanel_Class/Reference/Reference.html

日本語の解説が良い人はこちらのSatoshi Oomoriさんのページを参照下さい。

http://www.oomori.com/cocoafw/ApplicationKit/NSSavePanel/index.html
※注記
http://www.oomori.com/cocodesu/index.html

ソースコードこちら