Contents

URLWithString:relativeToURL:

Creates and returns an NSURL object initialized with a base URL and a relative string.

Declaration

+ (instancetype) URLWithString:(NSString *) URLString relativeToURL:(NSURL *) baseURL;

Parameters

  • URLString:

    The URL string with which to initialize the NSURL object. May not be nil. Linked on or after iOS 17, this method parses URLString according to RFC 3986. Linked before iOS 17, this method parses URLString according to RFCs 1738 and 1808. URLString is interpreted relative to baseURL.

  • baseURL:

    The base URL for the NSURL object.

Return Value

An NSURL object initialized with URLString and baseURL. If URLString was malformed or nil, returns nil.

Discussion

This method allows you to create a URL relative to a base path or URL. For example, if you have the URL for a folder on disk and the name of a file within that folder, you can construct a URL for the file by providing the folder’s URL as the base path (with a trailing slash) and the filename as the string part.

To check if URLString is strictly valid according to the RFC, use the new [NSURL URLWithString:URLString encodingInvalidCharacters:NO] method. This method leaves all characters as they are and returns nil if URLString is explicitly invalid.

For apps linked before iOS 17, this method expects URLString to contain only characters that are allowed in a properly formed URL. All other characters must be properly percent encoded. Any percent-encoded characters are interpreted using UTF-8 encoding.

See Also

Creating a URL object