---
title: scheme
framework: foundation
role: symbol
role_heading: Instance Property
path: foundation/urlcomponents/scheme
---

# scheme

The scheme subcomponent of the URL.

## Declaration

```swift
var scheme: String? { get set }
```

## Discussion

Discussion The getter for this property removes any percent encoding this component may have (if the component allows percent encoding). Setting this property assumes the subcomponent or component string is not percent encoded and will add percent encoding (if the component allows percent encoding). Attempting to set the scheme with an invalid scheme string will cause an exception.

## See Also

### Accessing components in native format

- [fragment](foundation/urlcomponents/fragment.md)
- [host](foundation/urlcomponents/host.md)
- [encodedHost](foundation/urlcomponents/encodedhost.md)
- [password](foundation/urlcomponents/password.md)
- [path](foundation/urlcomponents/path.md)
- [port](foundation/urlcomponents/port.md)
- [query](foundation/urlcomponents/query.md)
- [queryItems](foundation/urlcomponents/queryitems.md)
- [user](foundation/urlcomponents/user.md)
