---
title: nibName
framework: uikit
role: symbol
role_heading: Instance Property
path: uikit/uiviewcontroller/nibname
---

# nibName

The name of the view controller’s nib file, if one was specified.

## Declaration

```swift
var nibName: String? { get }
```

## Discussion

Discussion This property contains the value specified at initialization time to the init(nibName:bundle:) method. The value of this property may be nil. If you use a nib file to store your view controller’s view, it is recommended that you specify that nib file explicitly when initializing your view controller. However, if you do not specify a nib name, and do not override the loadView() method in your custom subclass, the view controller searches for a nib file using other means. Specifically, it looks for a nib file with an appropriate name (without the .nib extension) and loads that nib file whenever its view is requested. Specifically, it looks (in order) for a nib file with one of the following names: If the view controller class name ends with the word ‘Controller’, as in MyViewController, it looks for a nib file whose name matches the class name without the word ‘Controller’, as in MyView.nib. It looks for a nib file whose name matches the name of the view controller class. For example, if the class name is MyViewController, it looks for a MyViewController.nib file. note: Nib names that include a platform-specific identifier such as ~iphone or ~ipad are loaded only on a device of the corresponding type. For example, a nib name of MyViewController~ipad.nib is loaded only on iPad. If your app supports both platform types, you must provide versions of your nib files for each platform.

## See Also

### Related Documentation

- [init(nibName:bundle:)](uikit/uiviewcontroller/init(nibname:bundle:).md)

### Getting the storyboard and nib information

- [storyboard](uikit/uiviewcontroller/storyboard.md)
- [nibBundle](uikit/uiviewcontroller/nibbundle.md)
