---
title: "manager(_:didUpdate:)"
framework: coremotion
role: symbol
role_heading: Instance Method
path: "coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-6qux6"
---

# manager(_:didUpdate:)

Tells the delegate when a water submersion event occurs.

## Declaration

```swift
optional func manager(_ manager: CMWaterSubmersionManager, didUpdate event: CMWaterSubmersionEvent)
```

## Parameters

- `manager`: The manager for water submersion data.
- `event`: An event indicating that the submersion state has changed.

## Discussion

Discussion Implement this method to respond to changes in the device’s submersion state. nonisolated func manager(_ manager: CMWaterSubmersionManager, didUpdate event: CMWaterSubmersionEvent) {

let submerged: Bool?     switch event.state {     case .unknown:         logger.info("*** Received an unknown event ***")         submerged = nil

case .notSubmerged:         logger.info("*** Not Submerged Event ***")         submerged = false

case .submerged:         logger.info("*** Submerged Event ***")         submerged = true

@unknown default:         fatalError("*** unknown event received: \(event.state) ***")     }

Task {         await myAdd(event: event)         if let submerged {             await mySet(submerged: submerged)         }     } }

## See Also

### Receiving updates

- [manager(_:didUpdate:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-7nhjb.md)
- [manager(_:didUpdate:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-18wua.md)
- [manager(_:errorOccurred:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:erroroccurred:).md)
