# WaypointListDelegate

    @objc
    public protocol WaypointListDelegate : AnyObject

This protocol provides the methods which a `WaypointList` object needs after user interactions to inform its delegate object.

- `waypointList(_:didAdd:at:)`

  Tells the delegate that a `WaypointEntry` object is added.

  #### Declaration

  Swift

      @objc
      optional func waypointList(_ list: WaypointList, didAdd entry: WaypointEntry, at index: Int)

  #### Parameters

  `list` | A `WaypointList` object informing the delegate about the action.
  `entry` | The `WaypointEntry` object added to list.
  `index` | The index of the entry object.

- `waypointList(_:didSelect:at:)`

  Tells the delegate that a `WaypointEntry` object is selected.

  #### Declaration

  Swift

      @objc
      optional func waypointList(_ list: WaypointList, didSelect entry: WaypointEntry, at index: Int)

  #### Parameters

  `list` | A `WaypointList` object informing the delegate about the action.
  `entry` | The `WaypointEntry` object selected.
  `index` | The index of the entry object.

- `waypointList(_:didRemove:at:)`

  Tells the delegate that a `WaypointEntry` object is removed.

  #### Declaration

  Swift

      @objc
      optional func waypointList(_ list: WaypointList, didRemove entry: WaypointEntry, at index: Int)

  #### Parameters

  `list` | A `WaypointList` object informing the delegate about the action.
  `entry` | The `WaypointEntry` object removed.
  `index` | The index of the entry object.

- `waypointList(_:didDragFrom:to:)`

  Tells the delegate that two `WaypointEntry` objects are dragged.

  #### Declaration

  Swift

      @objc
      optional func waypointList(_ list: WaypointList, didDragFrom from: Int, to: Int)

  #### Parameters

  `list` | A `WaypointList` object informing the delegate about the action.
  `from` | The previous index of the dragged `WaypointEntry` object.
  `to` | The new index of its destination position.

- `waypointList(_:didUpdate:at:)`

  Tells the delegate that a `WaypointEntry` object is updated.

  #### Declaration

  Swift

      @objc
      optional func waypointList(_ list: WaypointList, didUpdate entry: WaypointEntry, at index: Int)

  #### Parameters

  `list` | A `WaypointList` object informing the delegate about the action.
  `entry` | The `WaypointEntry` object updated.
  `index` | The index of the entry object.