# ObjectRepresentation

    public protocol ObjectRepresentation : AnyObjectRepresentation

An object that acts as interfaces for `CoreStoreObject`s or `NSManagedObject`s

- `ObjectType`

  The object type represented by this protocol

  #### Declaration

  Swift

      associatedtype ObjectType : DynamicObject

- `asPublisher(in:)`

  An instance that may be observed for object changes.

  #### Declaration

  Swift

      func asPublisher(in dataStack: DataStack) -> ObjectPublisher<ObjectType>

- `asReadOnly(in:)`

  A read-only instance in the `DataStack`.

  #### Declaration

  Swift

      func asReadOnly(in dataStack: DataStack) -> ObjectType?

- `asEditable(in:)`

  An instance that may be mutated within a `BaseDataTransaction`.

  #### Declaration

  Swift

      func asEditable(in transaction: BaseDataTransaction) -> ObjectType?

- `asSnapshot(in:)`

  A thread-safe `struct` that is a full-copy of the object’s properties

  #### Declaration

  Swift

      func asSnapshot(in dataStack: DataStack) -> ObjectSnapshot<ObjectType>?

- `asSnapshot(in:)`

  A thread-safe `struct` that is a full-copy of the object’s properties

  #### Declaration

  Swift

      func asSnapshot(in transaction: BaseDataTransaction) -> ObjectSnapshot<ObjectType>?