---
title: "ODRecordRemoveValue(_:_:_:_:)"
framework: opendirectory
role: symbol
role_heading: Function
path: "opendirectory/odrecordremovevalue(_:_:_:_:)"
---

# ODRecordRemoveValue(_:_:_:_:)

Removes a value from a record’s attribute.

## Declaration

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

## Parameters

- `record`: The record.
- `attribute`: The attribute.
- `value`: The value to remove.
- `error`: An error reference for error details. Can be NULL.

## Return Value

Return Value true if inValue is successfully removed from inAttribute; otherwise, false.

## Discussion

Discussion If inValue does not exist, true is returned and no error is set.

## See Also

### Working with Records

- [ODRecordAddMember(_:_:_:)](opendirectory/odrecordaddmember(_:_:_:).md)
- [ODRecordAddValue(_:_:_:_:)](opendirectory/odrecordaddvalue(_:_:_:_:).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)
- [ODRecordSetNodeCredentials(_:_:_:_:)](opendirectory/odrecordsetnodecredentials(_:_:_:_:).md)
- [ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odrecordsetnodecredentialsextended(_:_:_:_:_:_:_:).md)
- [ODRecordSetValue(_:_:_:_:)](opendirectory/odrecordsetvalue(_:_:_:_:).md)
- [ODRecordSynchronize(_:_:)](opendirectory/odrecordsynchronize(_:_:).md)
