The name of the view controller's nib file, if one was specified.
SDKs
- iOS 2.0+
- Mac Catalyst 13.0+
- tvOS 9.0+
Framework
- UIKit
Declaration
var nibName: String? { get }
Discussion
This property contains the value specified at initialization time to the init(nib
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 load
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
My
, it looks for a nib file whose name matches the class name without the word ‘Controller’, as inView Controller My
.View .nib It looks for a nib file whose name matches the name of the view controller class. For example, if the class name is
My
, it looks for aView Controller My
file.View Controller .nib
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 My
is loaded only on iPad. If your app supports both platform types, you must provide versions of your nib files for each platform.