---
title: completedExchanges
framework: gamekit
role: symbol
role_heading: Instance Property
path: gamekit/gkturnbasedmatch/completedexchanges
---

# completedExchanges

The exchange requests that all recipients replied to and the current participant needs to save.

## Declaration

```swift
var completedExchanges: [GKTurnBasedExchange]? { get }
```

## Mentioned in

Exchanging data between players in turn-based games

## Discussion

Discussion Since only the current participant can save exchanges, this property is nil if the local player isn’t the current participant. If the local player is the current player, use the saveMergedMatch(_:withResolvedExchanges:completionHandler:) method to save completed exchanges before ending their turn.

## See Also

### Exchanging Data Between Participants

- [sendExchange(to:data:localizableMessageKey:arguments:timeout:completionHandler:)](gamekit/gkturnbasedmatch/sendexchange(to:data:localizablemessagekey:arguments:timeout:completionhandler:).md)
- [Exchange Timeouts](gamekit/exchange-timeouts.md)
- [exchangeDataMaximumSize](gamekit/gkturnbasedmatch/exchangedatamaximumsize.md)
- [exchangeMaxInitiatedExchangesPerPlayer](gamekit/gkturnbasedmatch/exchangemaxinitiatedexchangesperplayer.md)
- [activeExchanges](gamekit/gkturnbasedmatch/activeexchanges.md)
- [exchanges](gamekit/gkturnbasedmatch/exchanges.md)
- [saveMergedMatch(_:withResolvedExchanges:completionHandler:)](gamekit/gkturnbasedmatch/savemergedmatch(_:withresolvedexchanges:completionhandler:).md)
