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

# init(entity:managedObjectHandler:)

Creates a batch-insertion request for a managed entity, and specifies a closure that inserts data into the entity.

## Declaration

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

## Parameters

- `entity`: A managed entity to insert data into.
- `handler`: A closure that inserts data into the managed entity.

## 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:dictionaryHandler:)](coredata/nsbatchinsertrequest/init(entity:dictionaryhandler:).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)
