---
title: "decodeTopLevelDecodable(_:forKey:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nskeyedunarchiver/decodetopleveldecodable(_:forkey:)"
---

# decodeTopLevelDecodable(_:forKey:)

Decodes a top-level decodable value associated with a given key.

## Declaration

```swift
@nonobjc func decodeTopLevelDecodable<T>(_ type: T.Type, forKey key: String) throws -> T? where T : Decodable
```

## Parameters

- `type`: The type of the value to decode.
- `key`: The key in the archive associated with the value to decode.

## Discussion

Discussion If the archive is not a valid property list, this method throws the DecodingError.dataCorrupted(_:) error. If a value within the archive fails to decode, this method throws the corresponding error.

## See Also

### Decoding Data

- [containsValue(forKey:)](foundation/nskeyedunarchiver/containsvalue(forkey:).md)
- [decodeDecodable(_:forKey:)](foundation/nskeyedunarchiver/decodedecodable(_:forkey:).md)
- [decodeBool(forKey:)](foundation/nskeyedunarchiver/decodebool(forkey:).md)
- [decodeBytes(forKey:returnedLength:)](foundation/nskeyedunarchiver/decodebytes(forkey:returnedlength:).md)
- [decodeDouble(forKey:)](foundation/nskeyedunarchiver/decodedouble(forkey:).md)
- [decodeFloat(forKey:)](foundation/nskeyedunarchiver/decodefloat(forkey:).md)
- [decodeInt32(forKey:)](foundation/nskeyedunarchiver/decodeint32(forkey:).md)
- [decodeInt64(forKey:)](foundation/nskeyedunarchiver/decodeint64(forkey:).md)
- [decodeObject(forKey:)](foundation/nskeyedunarchiver/decodeobject(forkey:).md)
- [finishDecoding()](foundation/nskeyedunarchiver/finishdecoding().md)
- [decodingFailurePolicy](foundation/nskeyedunarchiver/decodingfailurepolicy.md)
