Class

CNSaveRequest

An object that collects the changes you want to save to the user's contacts database.

Declaration

@interface CNSaveRequest : NSObject

Overview

Create a new CNSaveRequest object for each save operation you want to make. You can batch multiple changes into one save request (note that these changes only apply to objects). In the case of overlapping changes in multiple or concurrent save requests, the last change wins.

If you try to add an object (that is, a contact or a group) that already exists in the contact store, you receive the CNErrorCodeInsertedRecordAlreadyExists error and the CNErrorUserInfoAffectedRecordsKey array is updated to contain the object you tried to add. If you try to update or delete an object that is not present in the contact store, the save request does not perform the update or deletion, the CNErrorCodeRecordDoesNotExist error occurs, and the CNErrorUserInfoAffectedRecordsKey array is updated to contain the object you tried to update or delete. Do not access objects in the save request while that request is executing.

Topics

Saving a Contact Changes

- addContact:toContainerWithIdentifier:

Adds the specified contact to the contact store.

- updateContact:

Updates an existing contact in the contact store.

- deleteContact:

Deletes a contact from the contact store.

Saving Group Changes

- addGroup:toContainerWithIdentifier:

Adds a group to the contact store.

- updateGroup:

Updates an existing group in the contact store.

- deleteGroup:

Deletes a group from the contact store.

- addMember:toGroup:

Adds a contact as a member of a group.

- removeMember:fromGroup:

Removes a contact as a member of a group.

Adding and Removing Subgroups

- addSubgroup:toGroup:

Add the specified group to a parent group.

- removeSubgroup:fromGroup:

Remove a subgroup from the specified parent group.

Relationships

Inherits From

See Also

Fetch and Save Requests

CNContactFetchRequest

An object that defines the options to use when fetching contacts.