---
title: "ABMultiValueAdd(_:_:_:_:)"
framework: addressbook
role: symbol
role_heading: Function
path: "addressbook/abmultivalueadd(_:_:_:_:)"
---

# ABMultiValueAdd(_:_:_:_:)

Adds a value and its label to a multi-value list.

## Declaration

```swift
func ABMultiValueAdd(_ multiValue: ABMutableMultiValueRef!, _ value: CFTypeRef!, _ label: CFString!, _ outIdentifier: UnsafeMutablePointer<Unmanaged<CFString>?>!) -> Bool
```

## Parameters

- `multiValue`: The multi-value list you wish to modify.
- `value`: An object representing a value in a multi-value list–it must be of the correct type. For example, if multiValue is the value for a property of type doc://com.apple.addressbook/documentation/AddressBook/kABMultiStringProperty, then value needs to be a CFString object. See Property Types for a list of supported types in a multi-value list(see descriptions of the kABMulti... constants). If value is NULL, this function raises an exception.
- `label`: The label for value—it need not be unique. If label is NULL, this function raises an exception.
- `outIdentifier`: If value is added successfully, this parameter returns the new identifier.

## Return Value

Return Value true ifsuccessfully, false otherwise.

## Discussion

Discussion This function performs no type checking and will let you adda value whose type does not match the types of the other valuesin the list. However, if you try to use a multi-value list whosevalues are not all of the same type, functions, such as the ABRecord ABRecordSetValue(_:_:_:_:) function,will returns NULL or kABErrorInProperty.

## See Also

### Multi Values

- [ABMultiValueCopyIdentifierAtIndex(_:_:)](addressbook/abmultivaluecopyidentifieratindex(_:_:).md)
- [ABMultiValueCopyLabelAtIndex(_:_:)](addressbook/abmultivaluecopylabelatindex(_:_:).md)
- [ABMultiValueCopyPrimaryIdentifier(_:)](addressbook/abmultivaluecopyprimaryidentifier(_:).md)
- [ABMultiValueCopyValueAtIndex(_:_:)](addressbook/abmultivaluecopyvalueatindex(_:_:).md)
- [ABMultiValueCount(_:)](addressbook/abmultivaluecount(_:).md)
- [ABMultiValueCreate()](addressbook/abmultivaluecreate().md)
- [ABMultiValueCreateCopy(_:)](addressbook/abmultivaluecreatecopy(_:).md)
- [ABMultiValueCreateMutable(_:)](addressbook/abmultivaluecreatemutable().md)
- [ABMultiValueCreateMutableCopy(_:)](addressbook/abmultivaluecreatemutablecopy(_:).md)
- [ABMultiValueIndexForIdentifier(_:_:)](addressbook/abmultivalueindexforidentifier(_:_:).md)
- [ABMultiValueInsert(_:_:_:_:_:)](addressbook/abmultivalueinsert(_:_:_:_:_:).md)
- [ABMultiValuePropertyType(_:)](addressbook/abmultivaluepropertytype(_:).md)
- [ABMultiValueRemove(_:_:)](addressbook/abmultivalueremove(_:_:).md)
- [ABMultiValueReplaceLabel(_:_:_:)](addressbook/abmultivaluereplacelabel(_:_:_:).md)
- [ABMultiValueReplaceValue(_:_:_:)](addressbook/abmultivaluereplacevalue(_:_:_:).md)
