panel:compareFilename:with:caseSensitive:
セーブパネルに表示するファイルブラウザの表示順をソートするときに呼ばれます
-(NSComparisonResult)panel:(id)sender: compareFilename:(NSString *)fileName1: with:(NSString *)fileName2: caseSensitive:(BOOL)flag:
解説
セーブパネルに表示するファイルブラウザの表示順をソートするときに呼ばれます。
二つの名前を比較して、どちらが大きいかを返します。
大文字、小文字の区別をするかをflagで受け取ります。
このメソッドを使うとソートして表示するので、パネルのパフォーマンスが下がります。
返り値
( NSComparisonResult )
比較結果
引数
( id )sender
オブジェクト
( NSString * )fileName1
ファイル名1
( NSString * )fileName2
ファイル名2
( BOOL )flag
フラグ
フレームワーク
ApplicationKit
クラス
NSSavePanel
Instance Methods
使用可能
10.0
参照
例文
#import "Controller.h" @implementation Controller - (IBAction)pushButton:(id)sender { NSSavePanel *spanel = [NSSavePanel savePanel]; //デリゲート設定 [spanel setDelegate:self]; //ファイルタイプ設定 [spanel setRequiredFileType:@"rtfd"]; //セーブパネル開く [spanel beginSheetForDirectory:NSHomeDirectory() file:nil modalForWindow:myWindow modalDelegate:self didEndSelector:@selector(didEndSaveSheet:returnCode:conextInfo:) contextInfo:NULL]; } //セーブパネルのデリゲート -(NSComparisonResult)panel:(id)sender compareFilename:(NSString *)fileName1 with:(NSString *)fileName2 caseSensitive:(BOOL)flag { NSLog([NSString stringWithFormat:@"%@,%@",fileName1,fileName2]); return [fileName1 compare:fileName2]; } //パネル終了 -(void)didEndSaveSheet:(NSSavePanel *)savePanel returnCode:(int)returnCode conextInfo:(void *)contextInfo { if (returnCode == NSOKButton){ //NSLog([[savePanel URL] absoluteString]); }else{ NSLog(@"Cansel"); } } @end