---
title: "encodeEncodable(_:forKey:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nskeyedarchiver/encodeencodable(_:forkey:)"
---

# encodeEncodable(_:forKey:)

Encodes a given value and associates it with a key.

## Declaration

```swift
@nonobjc func encodeEncodable<T>(_ value: T, forKey key: String) throws where T : Encodable
```

## Parameters

- `value`: The value to encode.
- `key`: The key with which to associate the encoded value.

## Discussion

Discussion If there’s a problem encoding the value you supply, this method throws an error based on the type of problem: The value fails to encode, or contains a nested value that fails to encode—this method throws the corresponding error. The value can’t be encoded as a property list—this method throws the EncodingError.invalidValue(_:_:) error.

## See Also

### Encoding Data and Objects

- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-9pxhm.md)
- [encodeBytes(_:length:forKey:)](foundation/nskeyedarchiver/encodebytes(_:length:forkey:).md)
- [encodeConditionalObject(_:forKey:)](foundation/nskeyedarchiver/encodeconditionalobject(_:forkey:).md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-1mkfl.md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-67rcs.md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-5i7tc.md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-ycdd.md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-9f4n9.md)
