---
title: CKSyncEngineSendChangesContext
framework: cloudkit
role: symbol
role_heading: Class
path: cloudkit/cksyncenginesendchangescontext
---

# CKSyncEngineSendChangesContext

The context of an attempt to send changes to the server.

## Declaration

```occ
@interface CKSyncEngineSendChangesContext : NSObject
```

## Overview

Overview A sync engine has two ways to send changes to iCloud — periodically, in cooperation with the system scheduler, and manually, whenever your app invokes the sendChangesWithCompletionHandler: method. This object provides information about a single attempt to send changes that includes both the reason for the attempt and any additional options in use by the attempt.

## Topics

### Accessing specific attributes

- [reason](cloudkit/cksyncenginesendchangescontext/reason.md)
- [CKSyncEngineSyncReason](cloudkit/cksyncenginesyncreason.md)
- [options](cloudkit/cksyncenginesendchangescontext/options.md)
- [CKSyncEngineSendChangesOptions](cloudkit/cksyncenginesendchangesoptions.md)

## Relationships

### Inherits From

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

## See Also

### Sending changes

- [syncEngine:nextRecordZoneChangeBatchForContext:](cloudkit/cksyncenginedelegate-3c38p/syncengine:nextrecordzonechangebatchforcontext:.md)
- [CKSyncEngineRecordZoneChangeBatch](cloudkit/cksyncenginerecordzonechangebatch.md)
