---
title: transactionAuthor
framework: coredata
role: symbol
role_heading: Instance Property
path: coredata/nsmanagedobjectcontext/transactionauthor
---

# transactionAuthor

The author for the context that is used as an identifier in persistent history transactions.

## Declaration

```swift
var transactionAuthor: String? { get set }
```

## Mentioned in

Consuming relevant store changes

## Discussion

Discussion Set a managed object context’s transactionAuthor before saving it to differentiate among multiple call sites that modify the same context. Doing this records an author in subsequent transactions. func addColor(_ name: String, in context: NSManagedObjectContext) {     let color = Color(context: context)     color.name = name     color.creationDate = Date()

// set the transaction author     context.transactionAuthor = "addColor"     persistentContainer.saveContext(context)     context.transactionAuthor = nil } Reset the context’s transactionAuthor to nil after the save to prevent misattribution of future transactions.

## See Also

### Managing concurrency

- [NSManagedObjectContextQueryGenerationKey](coredata/nsmanagedobjectcontextquerygenerationkey.md)
- [mergeChanges(fromRemoteContextSave:into:)](coredata/nsmanagedobjectcontext/mergechanges(fromremotecontextsave:into:).md)
- [automaticallyMergesChangesFromParent](coredata/nsmanagedobjectcontext/automaticallymergeschangesfromparent.md)
- [concurrencyType](coredata/nsmanagedobjectcontext/concurrencytype-swift.property.md)
- [mergePolicy](coredata/nsmanagedobjectcontext/mergepolicy.md)
- [queryGenerationToken](coredata/nsmanagedobjectcontext/querygenerationtoken.md)
- [mergeChanges(fromContextDidSave:)](coredata/nsmanagedobjectcontext/mergechanges(fromcontextdidsave:).md)
- [setQueryGenerationFrom(_:)](coredata/nsmanagedobjectcontext/setquerygenerationfrom(_:).md)
