---
title: "runModalForDirectory:file:types:"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsopenpanel/runmodalfordirectory:file:types:"
---

# runModalForDirectory:file:types:

Displays the panel and begins a modal event loop that is terminated when the user clicks either OK or Cancel.

## Declaration

```occ
- (NSInteger) runModalForDirectory:(NSString *) path file:(NSString *) name types:(NSArray *) fileTypes;
```

## Parameters

- `path`: The directory whose files the panel displays. When nil, the directory is the same directory used in the previous invocation of the panel; this is probably the best choice for most situations.
- `name`: Specifies a particular file in absoluteDirectoryPath that is selected when the Open panel is presented to the user. When nil, no file is initially selected.
- `fileTypes`: An array of file extensions and/or HFS file types. Specifies the files the panel allows the user to select. nil makes all files in absoluteDirectoryPath selectable by the user. An array of types passed in here will override one set using doc://com.apple.appkit/documentation/AppKit/NSSavePanel/allowedFileTypes.

## Return Value

Return Value The button clicked to dismiss the dialog: NSOKButton for the OK button and NSCancelButton for the Cancel button.

## Discussion

Discussion You can control whether directories and files appear in the browser with the canChooseDirectories and canChooseFiles methods.

## See Also

### Related Documentation

- [runModal()](appkit/nssavepanel/runmodal().md)

### Methods

- [filenames](appkit/nsopenpanel/filenames.md)
- [beginForDirectory:file:types:modelessDelegate:didEndSelector:contextInfo:](appkit/nsopenpanel/beginfordirectory:file:types:modelessdelegate:didendselector:contextinfo:.md)
- [beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:](appkit/nsopenpanel/beginsheetfordirectory:file:types:modalforwindow:modaldelegate:didendselector:contextinfo:.md)
- [runModalForTypes:](appkit/nsopenpanel/runmodalfortypes:.md)
