---
title: NSIncrementalStore
framework: coredata
role: symbol
role_heading: Class
path: coredata/nsincrementalstore
---

# NSIncrementalStore

An abstract superclass defining the API through which Core Data communicates with a store.

## Declaration

```swift
class NSIncrementalStore
```

## Overview

Overview You use this interface to create persistent stores that load and save data incrementally, allowing for the management of large and/or shared datasets. Subclassing Notes Methods to Override In a subclass of NSIncrementalStore, you must override the following methods to provide behavior appropriate for your store: loadMetadata() execute(_:with:) newValuesForObject(with:with:) newValue(forRelationship:forObjectWith:with:) obtainPermanentIDs(for:) You can also optionally override the following methods: identifierForNewStore(at:) managedObjectContextDidRegisterObjects(with:) managedObjectContextDidUnregisterObjects(with:) There is no need to override the methods that you must otherwise override for a subclass of NSPersistentStore. Methods that Should Not Be Overridden In a subclass of NSIncrementalStore, you should not override the following methods: newObjectID(for:referenceObject:) referenceObject(for:)

## Topics

### Manipulating Managed Objects

- [execute(_:with:)](coredata/nsincrementalstore/execute(_:with:).md)
- [newValuesForObject(with:with:)](coredata/nsincrementalstore/newvaluesforobject(with:with:).md)
- [newValue(forRelationship:forObjectWith:with:)](coredata/nsincrementalstore/newvalue(forrelationship:forobjectwith:with:).md)
- [obtainPermanentIDs(for:)](coredata/nsincrementalstore/obtainpermanentids(for:).md)
- [newObjectID(for:referenceObject:)](coredata/nsincrementalstore/newobjectid(for:referenceobject:).md)
- [referenceObject(for:)](coredata/nsincrementalstore/referenceobject(for:).md)

### Responding to Context Changes

- [managedObjectContextDidRegisterObjects(with:)](coredata/nsincrementalstore/managedobjectcontextdidregisterobjects(with:).md)
- [managedObjectContextDidUnregisterObjects(with:)](coredata/nsincrementalstore/managedobjectcontextdidunregisterobjects(with:).md)

### Accessing Metadata

- [identifierForNewStore(at:)](coredata/nsincrementalstore/identifierfornewstore(at:).md)
- [loadMetadata()](coredata/nsincrementalstore/loadmetadata().md)

## Relationships

### Inherits From

- [NSPersistentStore](coredata/nspersistentstore.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Store Coordination

- [NSPersistentStoreCoordinator](coredata/nspersistentstorecoordinator.md)
- [NSPersistentStore](coredata/nspersistentstore.md)
- [NSPersistentStoreDescription](coredata/nspersistentstoredescription.md)
- [NSPersistentStoreRequest](coredata/nspersistentstorerequest.md)
- [NSPersistentStoreResult](coredata/nspersistentstoreresult.md)
- [NSPersistentStoreAsynchronousResult](coredata/nspersistentstoreasynchronousresult.md)
- [NSSaveChangesRequest](coredata/nssavechangesrequest.md)
- [NSAtomicStore](coredata/nsatomicstore.md)
- [NSAtomicStoreCacheNode](coredata/nsatomicstorecachenode.md)
- [NSIncrementalStoreNode](coredata/nsincrementalstorenode.md)
