---
title: classForCoder
framework: objectivec
role: symbol
role_heading: Instance Property
path: objectivec/nsobject-swift.class/classforcoder
---

# classForCoder

Overridden by subclasses to substitute a class other than its own during coding.

## Declaration

```swift
var classForCoder: AnyClass { get }
```

## Discussion

Discussion This method is invoked by NSCoder. NSObject‘s implementation returns the receiver’s class. The private subclasses of a class cluster substitute the name of their public superclass when being archived.

## See Also

### Archiving

- [awakeAfter(using:)](objectivec/nsobject-swift.class/awakeafter(using:).md)
- [classForArchiver](objectivec/nsobject-swift.class/classforarchiver.md)
- [classForKeyedArchiver](objectivec/nsobject-swift.class/classforkeyedarchiver.md)
- [classFallbacksForKeyedArchiver()](objectivec/nsobject-swift.class/classfallbacksforkeyedarchiver().md)
- [classForKeyedUnarchiver()](objectivec/nsobject-swift.class/classforkeyedunarchiver().md)
- [replacementObject(for:)](objectivec/nsobject-swift.class/replacementobject(for:)-8ih2x.md)
- [replacementObject(for:)](objectivec/nsobject-swift.class/replacementobject(for:)-2l8ox.md)
- [replacementObject(for:)](objectivec/nsobject-swift.class/replacementobject(for:)-60vwc.md)
- [setVersion(_:)](objectivec/nsobject-swift.class/setversion(_:).md)
- [version()](objectivec/nsobject-swift.class/version().md)
