---
title: "saveCurrentTurn(withMatch:completionHandler:)"
framework: gamekit
role: symbol
role_heading: Instance Method
path: "gamekit/gkturnbasedmatch/savecurrentturn(withmatch:completionhandler:)"
---

# saveCurrentTurn(withMatch:completionHandler:)

Saves your match data in Game Center without ending the turn.

## Declaration

```swift
func saveCurrentTurn(withMatch matchData: Data, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func saveCurrentTurn(withMatch matchData: Data) async throws
```

## Parameters

- `matchData`: Your game-specific data representing the match state. For example, include the current participant’s activity while taking their turn in this object. Don’t pass nil as this parameter.
- `completionHandler`: The block that GameKit calls when it completes the request. The block receives the following parameter:

## Mentioned in

Starting turn-based matches and passing turns between players

## Discussion

Discussion Invoke this method only when the local player is the current participant. To receive turn-based events that this method generates, register a listener that conforms to the GKTurnBasedEventListener protocol with the local player. See Starting turn-based matches and passing turns between players.

## See Also

### Ending Turns and Saving Data

- [endTurn(withNextParticipants:turnTimeout:match:completionHandler:)](gamekit/gkturnbasedmatch/endturn(withnextparticipants:turntimeout:match:completionhandler:).md)
- [Turn Timeouts](gamekit/turn-timeouts.md)
