Contents

init(string:relativeTo:)

Initializes an NSURL object with a base URL and a relative string.

Declaration

init?(string URLString: String, relativeTo baseURL: URL?)

Parameters

  • URLString:

    The URL string with which to initialize the NSURL object. 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, 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.

init(string:relativeTo:) is the designated initializer for NSURL.

See Also

Related Documentation

Creating a URL object