Class

NSMergeConflict

An encapsulation of conflicts that occur during an attempt to save changes in a managed object context.

Declaration

@interface NSMergeConflict : NSObject

Overview

A conflict can occur in two situations:

  • Between the managed object context and its in-memory cached state at the persistent store coordinator layer.

  • Between the cached state at the persistent store coordinator layer and the external store (file, database, and so forth). In this case, the merge conflict has a cached snapshot and a persisted snapshot. The source object is also provided as a convenience, but it is not directly involved in the conflict.

Snapshot dictionaries include values for all attributes and to-one relationships, but not to-many relationships. Relationship values are NSManagedObjectID references. To-many relationships must be pulled from the persistent store as needed.

Topics

Initializing a Merge Conflict

Accessing Merge Conflict Details

sourceObject

The source object for the conflict.

objectSnapshot

A dictionary containing the values of the source object.

cachedSnapshot

A dictionary containing the values of the source object held in the persistent store coordinator layer.

persistedSnapshot

A dictionary containing the values of the source object held in the persistent store.

newVersionNumber

The new version number for the change.

oldVersionNumber

The old version number for the change.

Relationships

Inherits From

See Also

Conflict Management

NSConstraintConflict

An encapsulation of conflicts that occur during an attempt to save a managed object.

NSMergePolicy

A policy object that you use to resolve conflicts between the persistent store and in-memory versions of managed objects.

NSQueryGenerationToken

A token that indicates which generation of the persistent store is being accessed.