path(forResource:ofType:)
Returns the full pathname for the resource identified by the specified name and file extension.
Declaration
func path(forResource name: String?, ofType ext: String?) -> String?Parameters
- name:
The name of the resource file.
If you specify
nil, the method returns the first resource file it finds with the specified extension. - ext:
The filename extension of the file to locate.
If you specify an empty string or
nil, the extension is assumed not to exist and the file is the first file encountered that exactly matchesname.
Return Value
The full pathname for the resource file, or nil if the file could not be located.
Discussion
The method first looks for a matching resource file in the non-localized resource directory of the specified bundle. If a matching resource file is not found, it then looks in the top level of an available language-specific .lproj folder. (The search order for the language-specific folders corresponds to the user’s preferences.) It does not recurse through other subfolders at any of these locations. For more details on how localized resources are found, read The Bundle Search Pattern in Bundle Programming Guide.
The following code fragment gets the path to a plist within the bundle, and loads it into an NSDictionary:
NSBundle *thisBundle = [NSBundle bundleForClass:[self class]];
if (commonDictionaryPath = [thisBundle pathForResource:@"CommonDictionary" ofType:@"plist"]) {
theDictionary = [[NSDictionary alloc] initWithContentsOfFile:commonDictionaryPath];
}See Also
Finding Resource Files
url(forResource:withExtension:subdirectory:)url(forResource:withExtension:)urls(forResourcesWithExtension:subdirectory:)url(forResource:withExtension:subdirectory:localization:)urls(forResourcesWithExtension:subdirectory:localization:)url(forResource:withExtension:subdirectory:in:)urls(forResourcesWithExtension:subdirectory:in:)path(forResource:ofType:inDirectory:)path(forResource:ofType:inDirectory:forLocalization:)paths(forResourcesOfType:inDirectory:)paths(forResourcesOfType:inDirectory:forLocalization:)path(forResource:ofType:inDirectory:)paths(forResourcesOfType:inDirectory:)