macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

runModalForDirectory:file:types:

オープンパネルを開きます(ファイルを選択します)
-(int)runModalForDirectory:(NSString *)directory:
             file:(NSString *)filename:
             types:(NSArray *)fileTypes:

解説

オープンパネルを開きます(ファイルを選択します)シートではないタイプ
【directory】 デフォルト表示するディレクトリのパス
nilなら、初期設定のディレクトリはアプリケーションのディレクトリ。
【filename】 初期設定のファイル名
【fileTypes】 選択できるファイルタイプの配列、拡張子は"txt","pdf"などと表記、ファイルタイプは"'TEXT'","'JPEG'"などと表記します。nilなら全てのファイルが表示されます。
オープンパネルを表示してモーダルイベントループに入ります。
OKかキャンセルを押したら、モーダルイベントループを終わってNSOKButtonかNSCancelButtonを返します。
● NSOKButton OKボタンを押した。
● NSCancelButton Cancelボタンを押した。
選ばれたファイルは、[openpanel filename]でパスを得ることができます。

返り値

( int )

整数値

引数

( NSString * )directory

ディレクトリ(フォルダ)

( NSString * )filename

ファイル名

( NSArray * )fileTypes

ファイルタイプ

フレームワーク

ApplicationKit

クラス

NSOpenPanel

Instance Methods

使用可能

10.0

参照

- runModalForTypes:

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSOpenPanel *opanel = [NSOpenPanel openPanel];
NSArray *fileTypes = [NSArray arrayWithObjects:@"jpg",@"pdf",@"txt",@"'JPEG'",@"'TEXT'",nil];
int opRet;

opRet = [opanel runModalForDirectory:NSHomeDirectory()
    file:nil
    types:fileTypes
    ];
if (opRet == NSOKButton){
NSLog([opanel filename]);
[info setStringValue:[opanel filename]];
}else{
NSLog(@"Cansel");
}
}

@end