---
title: "init(scheme:host:path:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/nsurl/init(scheme:host:path:)"
---

# init(scheme:host:path:)

Initializes a newly created NSURL with a specified scheme, host, and path.

## Declaration

```swift
convenience init?(scheme: String, host: String?, path: String)
```

## Parameters

- `scheme`: The scheme for the NSURL object. For example, in the URL http://www.example.com/index.html, the scheme is http.
- `host`: The host for the NSURL object (for example, www.example.com). May be the empty string.
- `path`: The path for the NSURL object (for example, /index.html). If the path begins with a tilde, you must first expand it by calling doc://com.apple.foundation/documentation/Foundation/NSString/expandingTildeInPath.

## Return Value

Return Value The newly initialized NSURL object.

## Discussion

Discussion This method automatically uses percent encoding to escape the path and host parameters.

## See Also

### Related Documentation

- [File System Programming Guide](apple-archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/Introduction.md)
- [URL Loading System](foundation/url-loading-system.md)
