---
title: "decodeObjectOfClass:forKey:"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nscoder/decodeobjectofclass:forkey:"
---

# decodeObjectOfClass:forKey:

Decodes an object for the key, restricted to the specified class.

## Declaration

```occ
- (id) decodeObjectOfClass:(Class) aClass forKey:(NSString *) key;
```

## Parameters

- `aClass`: The expect class type.
- `key`: The coder key.

## Return Value

Return Value The decoded object.

## Discussion

Discussion If the coder responds true to requiresSecureCoding, then an exception will be thrown if the class to be decoded does not implement NSSecureCoding or is not isKind(of:) of aClass. If the coder responds false to requiresSecureCoding, then the class argument is ignored and no check of the class of the decoded object is performed, exactly as if decodeObject(forKey:) had been called.

## See Also

### Decoding General Data

- [decodeArray(ofObjCType:count:at:)](foundation/nscoder/decodearray(ofobjctype:count:at:).md)
- [decodeBool(forKey:)](foundation/nscoder/decodebool(forkey:).md)
- [decodeBytes(forKey:returnedLength:)](foundation/nscoder/decodebytes(forkey:returnedlength:).md)
- [decodeBytes(withReturnedLength:)](foundation/nscoder/decodebytes(withreturnedlength:).md)
- [decodeData()](foundation/nscoder/decodedata().md)
- [decodeDouble(forKey:)](foundation/nscoder/decodedouble(forkey:).md)
- [decodeFloat(forKey:)](foundation/nscoder/decodefloat(forkey:).md)
- [decodeCInt(forKey:)](foundation/nscoder/decodecint(forkey:).md)
- [decodeInteger(forKey:)](foundation/nscoder/decodeinteger(forkey:).md)
- [decodeInt32(forKey:)](foundation/nscoder/decodeint32(forkey:).md)
- [decodeInt64(forKey:)](foundation/nscoder/decodeint64(forkey:).md)
- [decodeNXObject](foundation/nscoder/decodenxobject.md)
- [decodeObject()](foundation/nscoder/decodeobject().md)
- [decodeObject(forKey:)](foundation/nscoder/decodeobject(forkey:).md)
- [decodePoint()](foundation/nscoder/decodepoint().md)
