---
title: NSPersistentContainer
framework: coredata
role: symbol
role_heading: Class
path: coredata/nspersistentcontainer
---

# NSPersistentContainer

A container that encapsulates the Core Data stack in your app.

## Declaration

```swift
class NSPersistentContainer
```

## Mentioned in

Setting up a Core Data stack manually Setting Up Core Data with CloudKit Setting up a Core Data stack Using Core Data in the background

## Overview

Overview NSPersistentContainer simplifies the creation and management of the Core Data stack by handling the creation of the managed object model (NSManagedObjectModel), persistent store coordinator (NSPersistentStoreCoordinator), and the managed object context (NSManagedObjectContext).

## Topics

### Creating a Container

- [init(name:)](coredata/nspersistentcontainer/init(name:).md)
- [init(name:managedObjectModel:)](coredata/nspersistentcontainer/init(name:managedobjectmodel:).md)

### Getting the Container’s Configuration

- [managedObjectModel](coredata/nspersistentcontainer/managedobjectmodel.md)
- [name](coredata/nspersistentcontainer/name.md)
- [persistentStoreCoordinator](coredata/nspersistentcontainer/persistentstorecoordinator.md)

### Accessing the Default Directory

- [defaultDirectoryURL](coredata/nspersistentcontainer/defaultdirectoryurl-swift.type.property.md)
- [defaultDirectoryURL()](coredata/nspersistentcontainer/defaultdirectoryurl().md)

### Managing Persistent Stores

- [persistentStoreDescriptions](coredata/nspersistentcontainer/persistentstoredescriptions.md)
- [loadPersistentStores(completionHandler:)](coredata/nspersistentcontainer/loadpersistentstores(completionhandler:).md)

### Acquiring Contexts

- [newBackgroundContext()](coredata/nspersistentcontainer/newbackgroundcontext().md)
- [viewContext](coredata/nspersistentcontainer/viewcontext.md)

### Performing Background Tasks

- [performBackgroundTask(_:)](coredata/nspersistentcontainer/performbackgroundtask(_:)-39sch.md)
- [performBackgroundTask(_:)](coredata/nspersistentcontainer/performbackgroundtask(_:)-25nok.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [NSPersistentCloudKitContainer](coredata/nspersistentcloudkitcontainer.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)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
