---
title: "addAttribute(_:value:range:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsmutableattributedstring/addattribute(_:value:range:)"
---

# addAttribute(_:value:range:)

Adds an attribute with the given name and value to the characters in the specified range.

## Declaration

```swift
func addAttribute(_ name: NSAttributedString.Key, value: Any, range: NSRange)
```

## Parameters

- `name`: A string specifying the attribute name. Attribute keys can be supplied by another framework or can be custom ones you define. For information about the system-supplied attribute keys, see the Constants section in doc://com.apple.foundation/documentation/Foundation/NSAttributedString.
- `value`: The attribute value associated with name.
- `range`: The range of characters to which the specified attribute/value pair applies.

## Discussion

Discussion You may assign any name/value pair you wish to a range of characters. Raises an invalidArgumentException if name or value is nil and an rangeException if any part of range lies beyond the end of the receiver’s characters.

## See Also

### Changing Attributes

- [setAttributes(_:range:)](foundation/nsmutableattributedstring/setattributes(_:range:).md)
- [addAttributes(_:range:)](foundation/nsmutableattributedstring/addattributes(_:range:).md)
- [removeAttribute(_:range:)](foundation/nsmutableattributedstring/removeattribute(_:range:).md)
- [applyFontTraits(_:range:)](foundation/nsmutableattributedstring/applyfonttraits(_:range:).md)
- [setAlignment(_:range:)](foundation/nsmutableattributedstring/setalignment(_:range:).md)
- [setBaseWritingDirection(_:range:)](foundation/nsmutableattributedstring/setbasewritingdirection(_:range:).md)
- [subscriptRange(_:)](foundation/nsmutableattributedstring/subscriptrange(_:).md)
- [superscriptRange(_:)](foundation/nsmutableattributedstring/superscriptrange(_:).md)
- [unscriptRange(_:)](foundation/nsmutableattributedstring/unscriptrange(_:).md)
