---
title: "decodeIfPresent(_:forKey:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-7x3cg"
---

# decodeIfPresent(_:forKey:)

Decodes a value of the given type for the given key, if present.

## Declaration

```swift
func decodeIfPresent(_ type: Double.Type, forKey key: KeyedDecodingContainer<K>.Key) throws -> Double?
```

## Parameters

- `type`: The type of value to decode.
- `key`: The key that the decoded value is associated with.

## Return Value

Return Value A decoded value of the requested type, or nil if the Decoder does not have an entry associated with the given key, or if the value is a null value.

## Discussion

Discussion This method returns nil if the container does not have a value associated with key, or if the value is null. The difference between these states can be distinguished with a contains(_:) call. note: DecodingError.typeMismatch if the encountered encoded value is not convertible to the requested type.
