# CoreStoreObjectValueDiff

    public final class CoreStoreObjectValueDiff<V> where V : ImportableAttributeType

The object containing the changeset for an observed `ValueContainer.Required` and `ValueContainer.Optional` property.

- `kind`

  Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.

  #### Declaration

  Swift

      public let kind: NSKeyValueChange

- `newValue`

  `newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. `newValue` will be `nil` if `isPrior` is `true`.

  #### Declaration

  Swift

      public private(set) lazy var newValue: V? { get set }

- `oldValue`

  `newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`.

  #### Declaration

  Swift

      public private(set) lazy var oldValue: V? { get set }

- `isPrior`

  ‘isPrior’ will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`

  #### Declaration

  Swift

      public let isPrior: Bool