---
title: "unarchiveTopLevelObjectWithData(_:)"
framework: foundation
role: symbol
role_heading: Type Method
path: "foundation/nskeyedunarchiver/unarchivetoplevelobjectwithdata(_:)"
---

# unarchiveTopLevelObjectWithData(_:)

Decodes a previously-archived object graph, and returns the root object.

## Declaration

```swift
@nonobjc class func unarchiveTopLevelObjectWithData(_ data: Data) throws -> Any?
```

## Parameters

- `data`: An object graph previously encoded by doc://com.apple.foundation/documentation/Foundation/NSKeyedArchiver.

## Return Value

Return Value The unarchived object, or nil if an error occurred.

## Discussion

Discussion This method throws an error if data does not contain valid keyed data.

## See Also

### Unarchiving Data

- [unarchivedObject(ofClass:from:)](foundation/nskeyedunarchiver/unarchivedobject(ofclass:from:).md)
- [unarchivedObject(ofClasses:from:)](foundation/nskeyedunarchiver/unarchivedobject(ofclasses:from:)-b9t5.md)
- [unarchivedObject(ofClasses:from:)](foundation/nskeyedunarchiver/unarchivedobject(ofclasses:from:)-3h32t.md)
- [requiresSecureCoding](foundation/nskeyedunarchiver/requiressecurecoding.md)
- [unarchiveObject(with:)](foundation/nskeyedunarchiver/unarchiveobject(with:).md)
- [unarchiveObject(withFile:)](foundation/nskeyedunarchiver/unarchiveobject(withfile:).md)
