# `GSLayer addAnchor:`

*Instance Method*

Adds or replaces an anchor by name.

## Declaration

```swift
func addAnchor(_ anchor: GSAnchor)
```

```objc
- (void) addAnchor:(GSAnchor *) anchor;
```

```python
addAnchor_(anchor: GSAnchor)
```

## Discussion

An unnamed anchor receives a generated name.

## See Also

### Anchors

- [`GSLayer.anchors`](/Core/GlyphsCore/GSLayer/anchors) — Layer anchors keyed by anchor name.
- [`GSLayer countOfAnchors`](/Core/GlyphsCore/GSLayer/countOfAnchors) — The number of anchors on the layer.
- [`GSLayer setAnchorArray:`](/Core/GlyphsCore/GSLayer/setAnchorArray:) — Replaces all anchors with anchors from an array.
- [`GSLayer setAnchorArrayFast:`](/Core/GlyphsCore/GSLayer/setAnchorArrayFast:) — Replaces all anchors without undo registration or change notifications.
- [`GSLayer removeAnchor:`](/Core/GlyphsCore/GSLayer/removeAnchor:) — Removes an anchor from the layer.
- [`GSLayer removeAnchorWithName:`](/Core/GlyphsCore/GSLayer/removeAnchorWithName:) — Removes the anchor with a name.
- [`GSLayer switchAnchorFastName:withName:`](/Core/GlyphsCore/GSLayer/switchAnchorFastName:withName:) — Swaps two anchor names without undo registration or change notifications.
- [`GSLayer anchorChangedName:`](/Core/GlyphsCore/GSLayer/anchorChangedName:) — Updates layer anchor lookup after an owned anchor changes its name.

