---
title: "ODRecordAddValue(_:_:_:_:)"
framework: opendirectory
role: symbol
role_heading: Function
path: "opendirectory/odrecordaddvalue(_:_:_:_:)"
---

# ODRecordAddValue(_:_:_:_:)

Adds a value to an attribute of a record.

## Declaration

```swift
func ODRecordAddValue(_ record: ODRecordRef!, _ attribute: String!, _ value: CFTypeRef!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>!) -> Bool
```

## Parameters

- `record`: The record.
- `attribute`: The attribute.
- `value`: The value to add to the attribute. Can be a CFStringRef object or a CFDataRef object.
- `error`: An error reference for error details. Can be NULL.

## Return Value

Return Value true if the value is successfully added; false otherwise.

## See Also

### Working with Records

- [ODRecordAddMember(_:_:_:)](opendirectory/odrecordaddmember(_:_:_:).md)
- [ODRecordChangePassword(_:_:_:_:)](opendirectory/odrecordchangepassword(_:_:_:_:).md)
- [ODRecordContainsMember(_:_:_:)](opendirectory/odrecordcontainsmember(_:_:_:).md)
- [ODRecordCopyDetails(_:_:_:)](opendirectory/odrecordcopydetails(_:_:_:).md)
- [ODRecordCopyValues(_:_:_:)](opendirectory/odrecordcopyvalues(_:_:_:).md)
- [ODRecordDelete(_:_:)](opendirectory/odrecorddelete(_:_:).md)
- [ODRecordGetRecordName(_:)](opendirectory/odrecordgetrecordname(_:).md)
- [ODRecordGetRecordType(_:)](opendirectory/odrecordgetrecordtype(_:).md)
- [ODRecordGetTypeID()](opendirectory/odrecordgettypeid().md)
- [ODRecordRemoveMember(_:_:_:)](opendirectory/odrecordremovemember(_:_:_:).md)
- [ODRecordRemoveValue(_:_:_:_:)](opendirectory/odrecordremovevalue(_:_:_:_:).md)
- [ODRecordSetNodeCredentials(_:_:_:_:)](opendirectory/odrecordsetnodecredentials(_:_:_:_:).md)
- [ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odrecordsetnodecredentialsextended(_:_:_:_:_:_:_:).md)
- [ODRecordSetValue(_:_:_:_:)](opendirectory/odrecordsetvalue(_:_:_:_:).md)
- [ODRecordSynchronize(_:_:)](opendirectory/odrecordsynchronize(_:_:).md)
