---
title: "init(entity:dictionaryHandler:)"
framework: coredata
role: symbol
role_heading: Initializer
path: "coredata/nsbatchinsertrequest/init(entity:dictionaryhandler:)"
---

# init(entity:dictionaryHandler:)

Creates a batch-insertion request for a managed entity, and specifies a closure that provides data dictionaries for insertion.

## Declaration

```swift
convenience init(entity: NSEntityDescription, dictionaryHandler handler: @escaping (NSMutableDictionary) -> Bool)
```

## Parameters

- `entity`: A managed entity to insert data into.
- `handler`: A closure that provides a dictionary that represents an object to insert. The dictionary contains an attribute name key and a value.

## Return Value

Return Value A batch-insertion request.

## Discussion

Discussion Core Data repeatedly calls the provided closure until it returns true, then finishes the request and saves the data.

## See Also

### Creating a Request

- [init(entity:managedObjectHandler:)](coredata/nsbatchinsertrequest/init(entity:managedobjecthandler:).md)
- [init(entityName:dictionaryHandler:)](coredata/nsbatchinsertrequest/init(entityname:dictionaryhandler:)-5l4ps.md)
- [init(entityName:managedObjectHandler:)](coredata/nsbatchinsertrequest/init(entityname:managedobjecthandler:)-7dr6p.md)
- [init(entity:objects:)](coredata/nsbatchinsertrequest/init(entity:objects:).md)
- [init(entityName:objects:)](coredata/nsbatchinsertrequest/init(entityname:objects:).md)
- [init()](coredata/nsbatchinsertrequest/init().md)
