---
title: "registerObject(ofClass:visibility:loadHandler:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsitemprovider/registerobject(ofclass:visibility:loadhandler:)-133rx"
---

# registerObject(ofClass:visibility:loadHandler:)

Lazily adds representations of a specified object type to an item provider, based on the object’s implementation of the item provider writing protocol, and adhering to a visibility specification.

## Declaration

```swift
@preconcurrency func registerObject<T>(ofClass: T.Type, visibility: NSItemProviderRepresentationVisibility, loadHandler: @escaping @Sendable (@Sendable (T?, (any Error)?) -> Void) -> Progress?) where T : _ObjectiveCBridgeable, T._ObjectiveCType : NSItemProviderWriting
```

## See Also

### Registering objects

- [registerObject(_:visibility:)](foundation/nsitemprovider/registerobject(_:visibility:).md)
- [registerObject(ofClass:visibility:loadHandler:)](foundation/nsitemprovider/registerobject(ofclass:visibility:loadhandler:)-9sndn.md)
- [register(_:)](foundation/nsitemprovider/register(_:).md)
