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

# encodeConditionalObject(_:forKey:)

Encodes a reference to a given object and associates it with a key only if it has been unconditionally encoded elsewhere in the archive.

## Declaration

```swift
func encodeConditionalObject(_ object: Any?, forKey key: String)
```

## Parameters

- `object`: The object to encode.
- `key`: The key with which to associate the encoded value. This value must not be nil.

## Discussion

Discussion This method is effective only if you’ve previously archived this object with this key by calling encodeInt:forKey:.

## See Also

### Encoding Data and Objects

- [encodeEncodable(_:forKey:)](foundation/nskeyedarchiver/encodeencodable(_:forkey:).md)
- [encode(_:forKey:)](foundation/nskeyedarchiver/encode(_:forkey:)-9pxhm.md)
- [encodeBytes(_:length:forKey:)](foundation/nskeyedarchiver/encodebytes(_:length: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)
